gpt4 book ai didi

python - 如何指定python请求http put body?

转载 作者:IT老高 更新时间:2023-10-28 22:14:10 25 4
gpt4 key购买 nike

我正在尝试使用 requests 模块重写一些旧的 python 代码。目的是上传附件。邮件服务器需要以下规范:

https://api.elasticemail.com/attachments/upload?username=yourusername&api_key=yourapikey&file=yourfilename

有效的旧代码:

h = httplib2.Http()        
resp, content = h.request('https://api.elasticemail.com/attachments/upload?username=omer&api_key=b01ad0ce&file=tmp.txt',
"PUT", body=file(filepath).read(),
headers={'content-type':'text/plain'} )

没有找到如何在请求中使用正文部分。

我设法做到了以下几点:

 response = requests.put('https://api.elasticemail.com/attachments/upload',
data={"file":filepath},
auth=('omer', 'b01ad0ce')
)

但不知道如何用文件内容指定正文部分。

感谢您的帮助。奥马尔。

最佳答案

引自 docs

data – (optional) Dictionary or bytes to send in the body of the Request.

所以这个应该工作(未测试):

 filepath = 'yourfilename.txt'
with open(filepath) as fh:
mydata = fh.read()
response = requests.put('https://api.elasticemail.com/attachments/upload',
data=mydata,
auth=('omer', 'b01ad0ce'),
headers={'content-type':'text/plain'},
params={'file': filepath}
)

关于python - 如何指定python请求http put body?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11832639/

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