我使用了库requests
:
import requests
r = requests.post(url=url, data=data, headers=headers, auth=(self.api_key, ''))
如何在发送POST请求之前显示正文和标题?或显示完整的请求如何发送?
因为服务器返回带有错误请求消息的400 HTTP。所以我需要看看发送的内容。
当我这样做时:
print r.request.body
它返回:
subcategory_id=1378&category_id=45&features=id&features=value&features=id&features=value&features=id&features=value&offer_type=18979
但身体是:
data = {
'category_id': category_id,
'subcategory_id': subcategory_id,
'offer_type': offer_type,
'features': [
{"id": "7", "value": "12900"},
{"id": "12", "value": "Title adadadadasdasdadad"},
{"id": "16", "value": ["3360383821"]}
]
}
怎么可能?
答案 0 :(得分:1)
r.request
是您需要的相应Request
对象。
import requests
r = requests.post(url=url, data=data, headers=headers, auth=(self.api_key, ''))
print r.request.headers
print r.request.body
你得到答案后就能做到,一切都会在那里。请参阅PreparedRequest。
对于您编辑过的问题,请使用requests.post(url=url, json=data, ...)
。
答案 1 :(得分:0)
r.url
r.headers
r.body
应该在终端中工作,可能必须在脚本中打印
您也不需要" url = url",您可以将其保留为" url",假设您已存储的位置您尝试发布的基础。
答案 2 :(得分:0)
您可以使用门户网站httpbin.org进行测试。它会发回所有数据。