首页 > 解决方案 > python3中的ssl ertificate和https连接

问题描述

我正在尝试在 python 中使用 OpenSSL 包来构建 ssl 安全连接,但出现此错误:

socket.gaierror: [Errno 11004] getaddrinfo failed

conn.connect()

我花了2天时间调试,而且网址是正确的,有人能找出原因吗?

from OpenSSL import SSL

certi_file = p12.get_certificate()     # (signed) certificate object
key_file =p12.get_privatekey()      # private key.
ca_cert = p12.get_ca_certificates() # ca chain.

# ctx = Context(SSLv23_METHOD);
context = SSL.Context(SSL.TLSv1_2_METHOD)
context.set_options(SSL.OP_NO_SSLv2)
context.use_certificate(certi_file);
context.use_privatekey(key_file);
context.verify_mode = ssl.CERT_NONE;
context.check_hostname = None
context.set_verify(VERIFY_PEER | VERIFY_FAIL_IF_NO_PEER_CERT | 
VERIFY_CLIENT_ONCE,verify_callback)

conn = http.client.HTTPSConnection("https//:markets.midwestiso.org/darteor/xml/submit", 80, context=context)
conn.connect() 

标签: pythonsslhttpsopensslssl-certificate

解决方案


您的链接 ( "https//:markets.midwestiso.org/darteor/xml/submit") 似乎不正确。它不应该像“ https://markets.midwestiso.org/darteor/xml/submit ”。


推荐阅读