我们的客户希望安装在客户计算机上的客户端脚本尽可能轻松安装。这意味着没有额外的安装包,在本例中是PyCurl。
我们需要能够使用SSL连接到网站并期望获得客户端证书。目前这是通过使用os.system()调用Curl来完成的,但是要获得http返回代码,看起来我们必须使用'-v'选项来Curl并梳理此输出。不难,只是有点icky。
还有其他方法可以使用Python 2.6附带的标准库吗? 我阅读了我能找到的所有内容,但是我看不到采用非卷曲的方法。
提前感谢任何有关此主题的指导!
答案 0 :(得分:3)
这样就可以了。请注意,Verisign不需要客户端证书,它只是随机获取的HTTPS站点。
import httplib
conn = httplib.HTTPSConnection('verisign.com', key_file='./my-key.pem', cert_file='./my-cert.pem')
conn.connect()
conn.request('GET', '/')
conn.set_debuglevel(20)
response = conn.getresponse()
print('HTTP status', response.status)
编辑:只是为了后人,下面Bruno的评论是有效的,这里有一篇文章如何使用stdlib的socket ssl和socket模块进行滚动,以备不时之需。
EDIT2:似乎我无法发布链接 - 只需在网上搜索“再次使用Python 2.x验证SSL服务器证书”