gpt4 book ai didi

Python 请求 - 从文件中 POST 数据

转载 作者:太空狗 更新时间:2023-10-29 17:01:22 25 4
gpt4 key购买 nike

我使用 curl 发送带有文件数据的 POST 请求。

我正在尝试使用 python 请求模块实现相同的目的。这是我的 python 脚本

import requests
payload=open('data','rb').read()
r = requests.post('https://IP_ADDRESS/rest/rest/2', auth=('userid', 'password'), data=payload , verify=False)
print r.text

数据文件如下所示

'ID' : 'ISM03'

但是我的脚本没有从文件中发布数据。我在这里错过了什么吗?

在 Curl 中,我曾经有如下命令

Curl --data @filename -ik -X POST 'https://IP_ADDRESS/rest/rest/2' 

最佳答案

这里不需要使用.read(),直接流对象即可。您确实需要明确设置 Content-Type header ; curl 在使用 --data 时执行此操作,但 requests 不执行此操作:

with open('data','rb') as payload:
headers = {'content-type': 'application/x-www-form-urlencoded'}
r = requests.post('https://IP_ADDRESS/rest/rest/2', auth=('userid', 'password'),
data=payload, verify=False, headers=headers)

我将打开的文件对象用作上下文管理器,这样当 block 退出时它也会为您自动关闭(例如发生异常或 requests.post() 成功返回) .

关于Python 请求 - 从文件中 POST 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16145116/

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