Jad*_*d S 3 python python-requests
我正在尝试编写一个执行GET请求的函数从服务器A下载文件,然后立即将文件POST到服务器B.
我试图通过将GET请求的输出流式传输到POST请求的输入来寻找一种方法.
在下面的文章讨论的NodeJS这样做.我如何使用Python请求执行此操作?
您可以将原始连接对象从流GET请求作为文件传递给POST请求:
r = requests.get(get_url, stream=True)
if r.status_code == 200:
r.raw.decode_content = True # decompress as you read
files = {
'fieldname': ('filename', r.raw, r.headers['Content-Type'])
}
requests.post(post_url, files=files)
Run Code Online (Sandbox Code Playgroud)
response.raw默认情况下,使用类文件对象不会解码压缩响应(使用GZIP或deflate),但是您可以通过将decode_content属性设置为True(请求将其设置False为控制解码本身)来强制它为您解压缩.
我假设该文件将作为multipart/form-data请求的一部分进行POST .如果您需要直接发布数据,请data=r.raw改用.
| 归档时间: |
|
| 查看次数: |
1442 次 |
| 最近记录: |