python忽略证书验证urllib2

发布于 2021-01-29 19:35:51

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

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

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

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

关注者
0
被浏览
72
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    同时,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构造函数也应该起作用。我还没试过



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看