suds 库中的自定义身份验证 (Python)

发布于 2024-10-25 12:25:50 字数 480 浏览 3 评论 0原文

我需要使用 WSDL 访问 SOAP 服务器,其中通过发送两个参数 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>

如何将此参数添加到我的请求中?或者我做错了什么?

I need to access a SOAP server with WSDL where the authentication is done by sending two parameters, UserId and AccessToken. I tried this way:
token = UsernameToken(
UserId,
AccessToken
)
token.setnonce()
token.setcreated()

security = Security()
security.tokens.append(token)


client = Client(URL)
client.set_options(wsse=security)

and suds throwed this error

URLError: <urlopen error [Errno 8] nodename nor servname provided, or not known>

How do I add this parameters to my request? Or am I doing something else wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

葵雨 2024-11-01 12:25:50

如果参数应该是标头的一部分,您可以这样做:

header = client.factory.create('HeaderNameInWSDL')
header.UserId = 'foo'
header.AccessToken = 'bar%n3'
client.set_options(soapheaders=header)

然后做你的事情。

If the parameters are supposed to part of a header, you can do it that way:

header = client.factory.create('HeaderNameInWSDL')
header.UserId = 'foo'
header.AccessToken = 'bar%n3'
client.set_options(soapheaders=header)

Then do you stuff.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文