如何强制zeep仅使用TLSv1.2?

时间:2017-07-10 22:46:41

标签: python-2.7 zeep

我正在设计一个使用python的SOAP客户端和我连接的SOAP服务器只允许使用TLSv1.2。我在zeep文档中查找但找不到任何可以强制它仅使用'TLSv1.2'的设置。如果zeep没有此功能,是否还有其他具有此功能的SOAP python库?

1 个答案:

答案 0 :(得分:1)

默认情况下,zeep使用TLS 1.2。但是,如果需要验证TLS连接(如果主机具有自签名证书),最好的方法是创建一个requests.Session实例并将信息添加到该Session,因此它保持持久性:

from requests import Session
from zeep import Client
from zeep.transports import Transport

session = Session()
session.verify = 'path/to/my/certificate.pem'
transport = Transport(session=session)
client = Client(
    'http://my.own.sslhost.local/service?WSDL',
    transport=transport)

或者,如果您只想使用TLS客户端证书,则可以使用session.cert来代替session.verify

更多信息,请访问:https://python-zeep.readthedocs.io/en/master/transport.html