我使用Python的urllib2.urlopen
与HTTPS服务器通信,但是现在我在documentation上了解到“HTTPS请求(使用urllib2.urlopen
)不对服务器证书进行任何验证。”
这对我来说是个大问题,因为它使我的服务器容易受到MITM攻击。
我想要进行证书验证的urllib2.urlopen
的直接替代品,因此我可以将其与我的代码捆绑在一起,并将对urllib2.urlopen
的所有调用替换为对修改后的urlopen
函数的调用。
因为这是一个安全问题,所以我更喜欢经过战斗验证的安全审计代码,而不是一些来自互联网的随机方法。
最佳答案
幸运的是,情况发生了变化。默认情况下,从Python 2.7.9/3.4.3开始启用证书验证。有关更多详细信息,请参见https://www.python.org/dev/peps/pep-0476/。