Python 使用pysimplesoap进行正确身份验证时遇到的问题
我正在尝试使用PySimpleSAP与Websitepanel SOAP-API进行通信。 WebsitePanel API简介说: 要与WebsitePanel API交互,应使用基本身份验证。WebsitePanel使用以下格式提供的用户凭据识别“授权”标题:用户名:密码 我的第一次尝试是:Python 使用pysimplesoap进行正确身份验证时遇到的问题,python,soap,pysimplesoap,Python,Soap,Pysimplesoap,我正在尝试使用PySimpleSAP与Websitepanel SOAP-API进行通信。 WebsitePanel API简介说: 要与WebsitePanel API交互,应使用基本身份验证。WebsitePanel使用以下格式提供的用户凭据识别“授权”标题:用户名:密码 我的第一次尝试是: client = SoapClient(wsdl=endpoint_url, trace=True) client['Authorization'] = "%s:%s" % (username, pas
client = SoapClient(wsdl=endpoint_url, trace=True)
client['Authorization'] = "%s:%s" % (username, password)
status: 500
content-length: 924
x-aspnet-version: 4.0.30319
x-powered-by: ASP.NET
server: Microsoft-IIS/7.5
cache-control: private
date: Tue, 12 Feb 2013 14:23:56 GMT
content-type: text/xml; charset=utf-8
返回一个401“未经授权”。
第二次尝试是:
client = SoapClient(wsdl=endpoint_url, trace=True)
client['wsse:Security'] = {
'wsse:UsernameToken': {
'wsse:Username': username,
'wsse:Password': password,
}
}
按预期工作,但返回以下内容:
client = SoapClient(wsdl=endpoint_url, trace=True)
client['Authorization'] = "%s:%s" % (username, password)
status: 500
content-length: 924
x-aspnet-version: 4.0.30319
x-powered-by: ASP.NET
server: Microsoft-IIS/7.5
cache-control: private
date: Tue, 12 Feb 2013 14:23:56 GMT
content-type: text/xml; charset=utf-8
及
为什么client['Authorization']
不起作用,应该对响应的含义进行签名
错误消息
提前谢谢。我想起来了:要正确地通过pysimplesoap进行身份验证,您必须调用
client = SoapClient(wsdl=u, trace=True,
http_headers={'Authorization': 'Basic %s' % encoded})
通过
encoded
being base64编码字符串username:password
我发现:要正确地通过pysimplesoap进行身份验证,您必须调用
client = SoapClient(wsdl=u, trace=True,
http_headers={'Authorization': 'Basic %s' % encoded})
使用
encoded
beeing base64编码字符串username:password
我尝试了这个方法,但是SoapClient的初始值设定项不接受关键字参数http\u headers
。这个代码示例正确吗?我使用的是1.07a版-它工作正常。SoapClient初始值设定项的实际签名是:def\uu init__(self,location=None,action=None,namespace=None,cert=None,trace=False,exceptions=True,proxy=None,ns=False,soap\ns=None,wsdl=None,cache=False,cacert=None,sessions=False,soap\u server=None,timeout=\u使用\u全局\u默认值,http\u头={})
我尝试了此操作,但SoapClient的初始值设定项不接受关键字参数http\u headers
。此代码示例正确吗?我使用的是1.07a版-它工作正常。SoapClient初始值设定项的实际签名为:def\u init__(self,location=None,action=None,namespace=None,cert=None,trace=False,exceptions=True,proxy=None,ns=False,soap\ns=None,wsdl=None,cache=False,cacert=None,sessions=False,soap\u server=None,timeout=\u使用\u全局\u默认值,http\u头={})