由于 httpx 旨在尽可能与请求API兼容,因此我根据此答案尝试了以下操作:
with open(local_file, 'rb') as f:
response = httpx.put(s3_presigned_url, data=f)
这将返回来自 S3 的 501 响应,其中包含以下消息:
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>NotImplemented</Code><Message>A header you provided implies functionality that is not implemented</Message><Header>Transfer-Encoding</Header><RequestId>AA70B8C6566230A7</RequestId><HostId>lU1m+ZF48KN8jV+F4bPjMU+81zBNRIt9TdaWzXaNZJD4HCqcDzAzGNli+g7/Z9XhnPjOzFdMFio=</HostId></Error>
我已经确认等效请求调用有效。
我在使用 Python 3.7.7 版和 httpx 0.14.2 版的 Windows 10 上。