Я хочу отправить XML
на запрос мыла. Я использую запрос Python, как показано ниже:
response = requests.post(url, data=body, headers=headers)
, когда я отправляю запрос, я даю этот запрос:
requests.exceptions.SSLError: HTTPSConnectionPool(host='49.1.92.38', port=7911): Max retries exceeded with url: /ECARE/CRMInterface_INV_Services (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",),))
Iсделайте verify=False
в таком запросе:
response = requests.post(url, data=body, headers=headers, verify=False)
, и я выдаю ошибку вроде you can't send a request like that
.
Я понимаю, что должен отправить сертификат с этим запросом, чтобы получить успешный ответ
У меня есть .cer
и .crt
файлы для отправки, но я отправляю вот так:
response = requests.post(url, data=body, headers=headers, cert=(c1, c2))
и получаю эту ошибку:
OpenSSL.SSL.Error: [('PEM routines', 'PEM_read_bio', 'no start line'), ('SSL routines', 'SSL_CTX_use_PrivateKey_file', 'PEM lib')]
ОБНОВЛЕНИЕ :
Я использую openssl x509 -inform der -in PK.cer -out PK.pem
и попробуйте это:
response = requests.post(url, data=body, headers=headers, verify='PK.pem')
Но на этот раз я получил эту ошибку:
requests.exceptions.SSLError: HTTPSConnectionPool(host='49.1.92.38', port=7911): Max retries exceeded with url: /ECARE/CRMInterface_INV_Services (Caused by SSLError(CertificateError("hostname '49.1.92.38' doesn't match 'crm.at.com'",),))
Я хочуотправить этот запрос мыла с этим файлом сертификата, но я не могу найти ничего, что помогает.кто-нибудь может мне помочь?
с уважением.