替换为进行证书验证的`urllib2.urlopen`

问题描述

|| 我使用Python的ѭ0与HTTPS服务器进行通信,但是现在我在文档中了解到“ HTTPS请求[使用ѭ0]不对服务器证书进行任何验证。” 这对我来说是个大问题,因为它使我的服务器容易受到MITM攻击。 我想要进行证书验证的ѭ0的直接替代品,因此我可以将其与我的代码捆绑在一起,然后将对
urllib2.urlopen
的所有调用替换为对修改后的
urlopen
函数调用。 因为这是一个安全问题,所以我更喜欢经过实践检验的经过安全审核的代码,而不是互联网上的一些随机方法。     

解决方法

        幸运的是,情况发生了变化。默认情况下,从Python 2.7.9 / 3.4.3开始启用证书验证。有关更多详细信息,请参见https://www.python.org/dev/peps/pep-0476/。     ,        看看http://pycurl.sourceforge.net/。它使用的libcurl当然已经成熟并且经过了很好的测试。 不过,它不是“直接插入”替代。 api是不同的。 进行更好的编辑,在他的评论中查看@Sven链接到的问题(这也建议使用pycurl)。     ,        您可能对此库很感兴趣,尽管它不是替代品。它使用ѭ5the或
OpenSSL
(取决于您使用的Python版本)和
httplib
。