我正在使用以下代码与 ssl 服务器执行 ssl 握手和证书验证。
import ssl
import socket
s = socket.socket()
print "connecting..."
#logging.debug("Connecting")
# Connect with SSL mutual authentication
# We only trust our server's CA, and it only trusts user certificates signed by it
c = ssl.wrap_socket(s, cert_reqs=ssl.CERT_REQUIRED,
ssl_version=ssl.PROTOCOL_SSLv3, ca_certs='ca.crt',
certfile='user.crt', keyfile='user.key')
c.connect((constants.server_addr, constants.port))
我能够连接到服务器并且证书已正确验证,但是,我不确定从这里可以做什么。我需要通过套接字执行 https 操作,包括将 XML 发布到 REST API。我该怎么做?
请您参考如下方法:
您可以使用wrap_socket 代码来扩展httplib.HTTPConnection,如this answer 中所述。 .
(我仍然会考虑使用 PycURL 之类的东西,因为我已经在 your previous question 中回答过。)
