我正试图通过Python httplib2库在云中调用.NET API。
同一个调用在PostMan中运行正常,但它不会通过此库向我提供数据。如果我在PostMan中将内容类型更改为application / xml,那么我会在那里得到这个响应。与PostMan相比,我试图在不同的可能性中调整标题。什么都没有帮助。我无法跟踪Fiddler的调用(与PostMan调用相比),因为我必须设置代理。我已经通过React与此api连接相同的标题和正文,它工作正常。
content_headers = {'Accept': 'application/json',
'Content-Type': 'application/json'}
url = ('http://XXXXX')
body_data = {
"store": 123,
"UPC": 4011
}
h = httplib2.Http()
response, data = h.request(url, 'POST', body=urllib.parse.urlencode(body_data), headers=content_headers)
回应:
{'cache-control':'no-cache','pragma':'no-cache','content-type':'application / json; charset = utf-8','expires':' - 1','server':'Microsoft-IIS / 10.0','x-aspnet-version':'4.0.30319','x-powered-by': 'ASP.NET','date':'星期四,2018年5月3日18:09:57 GMT','内容长度':'114','状态':'200'}
数据:
{'ResultCode': - 1000,'ResultDescription':'对象引用未设置为对象的实例。','pludetails':无}