[英]Python requests to send POST request with form-data input
我有一个向系统发送请求的 API,我们将正文请求作为表单数据选项发送。
如何使用请求在 Pyhton 脚本中实现这一点。 这在 Postman 中有效,我试图用 python 脚本调用这个 API。
对于表单编码数据,您需要将data
kwarg 与字典配对,而不是字符串。 为了演示这是如何工作的,我将使用requests.Request
对象:
from requests import Request
import json
request_dict = {'Data': {'Number': "17329937082", "Format": "MSW"}}
data = {
'Document': open('sample.doc', 'rb'), # open in bytes-mode
'Request': json.dumps(request_dict) # formats the dict to json text
}
r = Request('GET', 'https://my-url.com', data=data)
req = r.prepare()
r.headers
{'Content-Length': '80595', 'Content-Type': 'application/x-www-form-urlencoded'}
所以在正常的请求中,它看起来像:
import requests
import json
request_dict = {'Data': {'Number': "17329937082", "Format": "MSW"}}
data = {
'Document': open('sample.doc', 'rb'), # open in bytes-mode
'Request': json.dumps(request_dict) # formats the dict to json text
}
r = requests.get('my_url.com', data=data)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.