如何改变curl命令Python的请求格式
问题描述:
我成功地验证了我的形象是通过卷曲 但是发送到服务器,我想进口Python语言请求模块 我的代码看起来像这样 谢谢您帮助如何改变curl命令Python的请求格式
卷曲
curl -X POST --header 'x-user-token: [Token]' --header 'x-user-email: [Email]' -H 'Cache-Control: no-cache' -H 'Content-Type: multipart/form-data' -F 'note[message]=hello' -F 'note[image][email protected]' http://[URL]
的Python
URL = "[URL]"
EMAIL = "[Email]"
TOKEN = "[Token]"
headers = {'Cache-Control': 'no-cache',
'Content-Type': 'application/json; multipart/form-data',
'x-user-token': TOKEN,
'x-user-email': EMAIL}
data = {
'message': "Hello"
}
res = requests.post(URL, files={'image': open("[file_name].jpg", "rb")}, headers=headers)
答
试试
import requests
headers = {
'Cache-Control': 'no-cache',
'Content-Type': 'multipart/form-data',
'x-user-token': '[Token]',
'x-user-email': '[Email]',
}
files = [
('note[message]', 'hello'),
('note[image]', open('HelloWolrd.jpg', 'rb')),
]
requests.post('http://[url]/', headers=headers, files=files)
答
P.S
我没有与下面的回答解决这个问题,但最终我做到了。 如果你需要我的帮助,请参考下面的代码 这是更好地去除不必要的头 检查你的代码的头
Resloved Python代码
#! /usr/bin/env python
import requests
import logging
import base64
logging.basicConfig(level=logging.NOTSET)
headers = {
'x-user-token': '[Token]',
'x-user-email': '[Email]',
}
files = {
'note[image]': (open("[file_name].jpg", "rb"), 'image/jpeg')
}
data = {
'note[message]': 'Hello World !'
}
res = requests.post('http://[URL]', headers=headers, files=files, data=data)
print(res.request.headers)
print(res.headers)
f = open('temp.log', 'w')
f.write(res.text)
f.close()
if res.status_code != 200:
print(res.status_code)
我试过了,但结果是400错误。 – Gromit
我找到了一个更好的方法。 我将尽力在https://curl.trillworks.com/ 的帮助下解决此问题。谢谢您的帮助。 – Gromit
我解决了这个问题。 回头看我的问题来解决这个问题 感谢您的帮助。 – Gromit