正如@WooParadog解释的那样,请求库不知道如何处理本地文件。虽然,当前版本允许定义传输适配器。
因此,您只需定义自己的适配器即可处理本地文件,例如:
from requests_testadapter import Respclass LocalFileAdapter(requests.adapters.HTTPAdapter): def build_response_from_file(self, request): file_path = request.url[7:] with open(file_path, 'rb') as file: buff = bytearray(os.path.getsize(file_path)) file.readinto(buff) resp = Resp(buff) r = self.build_response(request, resp) return r def send(self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None): return self.build_response_from_file(request)requests_session = requests.session()requests_session.mount('file://', LocalFileAdapter())requests_session.get('file://<some_local_path>')在上面的示例中,我使用了requests-testadapter模块。



