python-3.x - 使用证书(Python3)向zeep(SAOP)请求
问题描述
基于此文档使用证书:
https://python-zeep.readthedocs.io/en/master/transport.html
我的代码是:
from zeep import Client as zeepClient
from zeep.transports import Transport
from requests import Session
import os
file_pem = os.path.dirname(os.path.realpath(__file__)) + "/file.pem"
session = Session()
session.verify = file_pem
transport = Transport(session=session)
zeepclient = zeepClient('https://myurl.com:8000/demo/services/User?wsdl', transport=transport)
result = zeepclient.service.adUser(payload)
它不起作用。
错误:
requests.exceptions.SSLError: HTTPSConnectionPool(host='myurl.com', port=8000): 最大重试次数超出了 url: /demo/services/User?wsdl (由 SSLError(SSLError("bad handshake: Error([( 'SSL 例程'、'tls_process_server_certificate'、'证书验证失败')],)",),))
.pem 文件示例:
-----BEGIN CERTIFICATE----- MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxJzAlBgNVBAMTHkRpZ2lDZXJ0IFNIQTIg MIIElDCCA3ygAwIBAgIQAf2j627KdciIQ4tyS8+8kTANBgkqhkiG9w0BAQsFADBh MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD QTAeFw0xMzAzMDgxMjAwMDBaFw0yM............................... .....................................eNqzqPlt/yGFUzZgTHbO7Djc1lGA 8MXW5dRNJ2Srm8c+cftIl7gzbckTB+6WohsYFfZcTEDts8Ls/3HB40f /1LkAtDdC 2iDJ6m6K7hQGrn2iWZiIq -----结束证书-----
解决方案
推荐阅读
- django - 我想在 django 模板中使用变量,我该如何使用它。//
- r - R - 使用 FOR 循环或 WHILE 循环将 10 页合并到一个数据帧中
- ios - iOS 文件应用程序注册与文件类型
- javascript - setTimeout 不等待打开选项卡
- python - GOOGLE COLAB:cv2.imread 返回 NoneType
- reactjs - React js TypeError:无法读取未定义的属性'rfpid'
- node.js - 节点运行多个实例并仅关闭请求的实例
- ios - 在 WKWebView swift 中下载文档并加载图像(png、jpeg)、pdf、doc 等
- ios - 协议类型“Any”的值不能符合“Equatable”;只有结构/枚举/类类型可以符合协议
- angular - 从另一个组件角度导入功能