gpt4 book ai didi

python - 如何使用 Python 请求获取文件并将其流式传输到 POST 请求中?

转载 作者:太空宇宙 更新时间:2023-11-03 13:30:46 24 4
gpt4 key购买 nike

我正在尝试编写一个函数,该函数执行 GET 请求以从服务器 A 下载文件,然后立即将文件 POST 到服务器 B。

我正在尝试寻找一种方法,将 GET 请求的输出流式传输到 POST 请求的输入中。

following article讨论在 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)

要使用 response.raw 类文件对象,默认情况下不会解码压缩的响应(使用 GZIP 或 deflate),但您可以通过设置 decode_content 属性设置为 True(请求将其设置为 False 以控制解码本身)。

我假设该文件将作为 multipart/form-data 请求的一部分发布。如果您需要直接发布数据,请改用 data=r.raw

关于python - 如何使用 Python 请求获取文件并将其流式传输到 POST 请求中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47800065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com