2016-04-13 28 views
4

自己証明書付きのテスト用のサーバーセットアップがあり、それをテストできるようにしたいと考えています。Python 3 urllibはSSL証明書の検証を無視します

urlopenのPython 3バージョンでSSL検証を無視しますか?

私が見つけたすべての情報はurllib2または一般的なPython 2に関するものです。

パイソン3

urlliburllib2から変更された:

パイソン2、urllib2のurllib2.urlopen(url[, data[, timeout[, cafile[, capath[, cadefault[, context]]]]])

https://docs.python.org/2/library/urllib2.html#urllib2.urlopen

パイソン3urllib.request.urlopen(url[, data][, timeout]) https://docs.python.org/3.0/library/urllib.request.html?highlight=urllib#urllib.request.urlopen

これはPython 2で次のようにして行うことができることを知っています。しかし、Python 3 urlopenにはcontextパラメータがありません。

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) 

はい、これは悪い考えです。これは、プライベートサーバー上でテストするためのものです。

これはPython 3のドキュメントやその他の質問でどのように行われるはずです。 Python 3に明示的に言及しているものでも、urllib2/Python 2の解決策はありました。

答えて

3

Python 3.0から3.3にはコンテキストパラメータがありません。Python 3.4で追加されました。したがって、コンテキストを使用するには、Pythonのバージョンを3.5に更新することができます。

関連する問題