一尘不染

python忽略证书验证urllib2

python

我想certification validation在通过内部公司链接向服务器发出请求时忽略。

使用pythonrequests库,我可以这样做:

r = requests.get(link, allow_redirects=False,verify=False)

如何使用urllib2库做同样的事情?


阅读 287

收藏
2020-12-20

共1个答案

一尘不染

同时,urllib2似乎默认情况下会验证服务器证书。过去显示 的警告在2.7.9中消失了,我目前在具有自签名证书(和Python 2.7.9)的测试环境中遇到此问题。

我evil的解决方法(在生产中不要这样做!):

import urllib2
import ssl

ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE

urllib2.urlopen("https://your-test-server.local", context=ctx)

根据文档,直接调用SSLContext构造函数也应该起作用。我还没试过

2020-12-20