问题1(在发出Python POST请求之前,我们需要做json.dumps和编码吗?
通常请求是:
response = requests.post('https://httpbin.org/post', json={'key':'value'})
问题2(
是否建议像下面那样做?
x1 = {'key':'value'}
x2 = json.dumps(x1)
x3 = x2.encode()
response = requests.post('https://httpbin.org/post', json=x3)
问题3(在发出Python POST请求之前,我们什么时候需要做json.dumps和编码?
不,如果使用json
参数,它应该是一个字典。从文档中:
json –(可选(要在请求正文中发送的 JSON 可序列化 Python 对象。
您只需要在发出发布请求之前使用转储数据,如下所示-
url = "http://localhost:8080"
obj = {'City': 'Delhi', 'Country': 'India', 'message': 'Hello Team!'}
headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}
requests.post(url, data=json.dumps(obj), headers=headers)
注意:我在测试转储期间观察到的内容在 POST 请求中不是必需的。它也应该只适用于data=obj
。