在suds库中实现自定义认证(Python)
我需要访问一个SOAP服务器,这个服务器使用WSDL,并且需要通过发送两个参数来进行身份验证,分别是UserId和AccessToken。我尝试了以下方法:
token = UsernameToken(
UserId,
AccessToken
)
token.setnonce()
token.setcreated()
security = Security()
security.tokens.append(token)
client = Client(URL)
client.set_options(wsse=security)
但是suds抛出了这个错误
URLError: <urlopen error [Errno 8] nodename nor servname provided, or not known>
我该如何将这些参数添加到我的请求中?或者我是不是做错了什么?
1 个回答
1
如果这些参数应该是头部的一部分,你可以这样做:
header = client.factory.create('HeaderNameInWSDL')
header.UserId = 'foo'
header.AccessToken = 'bar%n3'
client.set_options(soapheaders=header)
然后你就可以继续你的操作了。