Запрос с помощью Zeep (SAOP) с использованием сертификата (Python3) - PullRequest
0 голосов
/ 22 января 2020

На основании этой документации использовать сертификаты:

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)

Это не работает.

Ошибка:

reports.exceptions.SSLError: HTTPSConnectionPool (host = 'myurl.com', port = 8000): Макс. Повторных попыток превышено с помощью url: / demo / services / User? wsdl (вызвано SSLError (SSLError ("плохое рукопожатие: ошибка ([('подпрограммы SSL', 'tls_process_server_certificate', 'сбой проверки сертификата')],)",),),) )

* * Example тысячи двадцать один .pem файл: * ** 1023 тысячу двадцать два *

----- BEGIN CERTIFICATE ----- MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxJzAlBgNVBAMTHkRpZ2lDZXJ0IFNIQTIg MIIElDCCA3ygAwIBAgIQAf2j627KdciIQ4tyS8 + 8kTANBgkqhkiG9w0BAQsFADBh MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD QTAeFw0xMzAzMDgxMjAwMDBaFw0yM ....... ............................ ...................... .............. eNqzqPlt / yGFUzZgTHbO7Djc1lGA 8MXW5dRNJ2Srm8c + cftIl7gzbckTB + 6WohsYFfZcTEDts8Ls / 3HB40f / 1LkAtDdC 2iDJ6m6K7hQGrn2iWZiIq ----- КОНЕЦ СЕРТИФИКАТА -----

...