- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Python zeep发出 SOAP 请求。对于 SSL 验证,HostHeaderSSLAdapter添加为我的 URL https://dev_alias:8096/some_soap
,包含别名而不是实际主机名。
下面带有 requests
的代码工作正常。所以我假设 session
是正确的。
import requests
from requests_toolbelt.adapters import host_header_ssl
from zeep.transports import Transport
from zeep import Client, Settings
url = 'https://dev_alias:8096/some_soap'
params = {'param1': 'value1'}
session = requests.Session()
session.verify = 'CertBundle.pem'
session.mount('https://', host_header_ssl.HostHeaderSSLAdapter())
headers = {'SOAPAction': '""', 'Content-Type': 'text/xml; charset=utf-8'}
message = b"<?xml version=\'1.0\' encoding=\'utf-8\'?>....</soap-env:Envelope>"
session.post(url, data=message, headers=headers)
但是,当相同的session
用于zeep 的Transport
时,此代码会失败。
transport = Transport(session=session)
client = Client(url, transport=transport)
client.service.some_service(params)
SSLError: HTTPSConnectionPool(host='actual_hostname', port=8096):
Max retries exceeded with url: /some_soap (Caused by SSLError(CertificateError(
"hostname 'actual_hostname' doesn't match 'dev_alias'",),))
如何使用 zeep
关闭主机名验证?使用 zeep 版本 3.4.0 0 并请求 2.22.0
最佳答案
出于测试目的,也许您可以按照此处说明禁用 ssl 验证 https://python-zeep.readthedocs.io/en/master/transport.html
在这种情况下,将您的 session.verify
行更改为
session.verify = False
请注意,您几乎肯定不想在生产系统中执行此操作。
关于python - Zeep - 关闭主机验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57405134/
我想用 Zeep 解析一个 WSDL 文件并退出: 所有操作 为每个操作请求 xml 消息 有关解析 wsdl 的任何示例? 我想我应该使用 zeep.wsdl 和 parse_service 方法?
Python SOAP客户端库Zeep支持附件吗? 我在 documentation 中真的找不到任何东西. 想法是以 XML 格式发送带有一些附件的 SOAP 请求。我想这样做的常规方法是一条多部分
我正在使用 Python zeep发出 SOAP 请求。对于 SSL 验证,HostHeaderSSLAdapter添加为我的 URL https://dev_alias:8096/some_soap
我的 SOAP 服务将使用各种无效负载进行测试,以确认返回适当的响应。 在进行测试之前,我想对我的服务进行自己的测试。一些测试涉及删除必填字段。我想使用 zeep 模拟这些测试,但 zeep 不允许我
我一直在使用 python zeep 检查 WSDL 文档并生成相应的代码以使用 wsdl 文档中的服务和类型。 下面的代码是一个简短的例子。它部分起作用。问题是:这些参数并不是 web 服务正在等待
我正在尝试创建一个使用 WSDL 文件并生成适当的 SOAP 消息的客户端。这就是我创建客户端的方式: client = Client( wsdl=wsdl ,tran
我尝试使用 python-zeep 包来使用一些肥皂服务( ID3 Global ) 这似乎是可行的,对最近添加的功能(WSSE 身份验证和使用多个绑定(bind)的可能性)表示赞赏 现在,我尝试循环
我正在为一段使用 zeep 访问 SOAP API 的代码编写单元测试,因此我想模拟 zeep。在我的实际代码中,它看起来像这样: from zeep import Client def do_som
我有两个单独的 WSDL 文件提供给我以与服务交互,一个 WSDL 文件只提供一种登录和生成访问 token 的方法。另一个 WSDL 文件提供了与系统实际交互的方法。 如果我用要登录的第一个 WSD
我正在尝试连接到 SOAP 网络服务并使用 pandas 放在 table 上。 Zeep 给我这个列表: [{ 'ssPeca': '103', 'ssQtd': '1',
当我运行以下代码时,我不断收到以下错误:here is an error in XML document (113, 25)。 ---> 字符串 '' 不是有效的 bool 值。 我不明白为什么会这样
我有使用 zeep 创建肥皂客户端的代码。我的服务器没有返回 wsdl 文件,但我在本地有它。 同步版本的工作原理如下: import uuid from os import path import
我正在使用 zeep 调用 SOAP 网络服务。即使该方法存在于 WSDL 中,它也会抛出错误 client = Client(self.const.soap_url) client.service.
我需要实现 SPML接口(interface),最终通过 HTTP(s) 执行 SOAP 请求。我有一个 wsdl 可以归结为: [...] 如您所见,唯一定义的请求元
我是 zeep 的新手。 我有以下效果很好: import zeep from zeep.cache import SqliteCache from zeep.transports import Tr
我需要通过 wsdl 使用 API,并且我正在尝试弄清楚 zeep 模块是如何工作的。该模块是使用“pip install”安装的,每次都显示相同的错误。 导入错误:无法从“zeep”导入名称“Cli
我有以下 python 代码来设置 SOAP 请求的 header : ebsheader = xsd.Element( '{http://ebs.health.ontario.ca/}EBS
我正在尝试让 zeep 打开一个 WSDL,该 WSDL 在名称的开头具有带点的绑定(bind),并收到 ValueError: Invalid tag name '.USXMLWSSoapBindi
我正在尝试使用此处发布的特别神秘的 WSDL SOAP 服务: https://api.business.govt.nz/registry/resource/_system/governance/ap
我必须在项目中使用 SOAP API。对于特定方法,我必须发送复杂类型。 这个复杂类型的声明如下:
我是一名优秀的程序员,十分优秀!