我发送SOAP POST,我收到“HTTPError:HTTP错误415:不支持的媒体类型”@ response = urllib2.urlopen(req)
data = """<?xml version="1.0" encoding="utf-8"?>
1
"""
headers = {
'Content-Type': 'application/soap+xml; charset=utf-8'
'Host: "webservices.autotask.net"'
'Content-Type: text/xml; charset=utf-8'
'Content-Length: len(data)'
'SOAPAction: "http://autotask.net/ATWS/v1_5/getThresholdAndUsageInfo"'
}
site = 'https://webservices.autotask.net/atservices/1.5/atws.asmx'
auth_handler = urllib2.HTTPBasicAuthHandler()
auth_handler.add_password(realm='webservices.autotask.net',
uri=site,
user='george.lastname@domain.com',
passwd='mypw')
opener = urllib2.build_opener(auth_handler)
urllib2.install_opener(opener)
page = urllib2.urlopen(site) #errors out 415 here
req = urllib2.Request(site, data, headers)
response = urllib2.urlopen(req)
我究竟做错了什么?谢谢!
解决方法:
标题字典中的Content-Length值似乎是错误的
'Content-Length: len(data)'
以及其他一些价值观.
我会解决它:
headers = {
'Content-Type': 'application/soap+xml; charset=utf-8',
'Host': 'webservices.autotask.net',
'Content-Length': len(data),
'SOAPAction': 'http://autotask.net/ATWS/v1_5/getThresholdAndUsageInfo'
}
标签:python,http,post,soap
来源: https://codeday.me/bug/20190721/1496515.html