2016-05-20 7 views
4

は、私は以下を行うことができますし、それが動作します:python 2.6で証明書を無視するには? Pythonの2.7で

ctx = ssl.create_default_context() // function does not exist in python 2.6 ? What to use? 
ctx.check_hostname = False 
ctx.verify_mode = ssl.CERT_NONE 
req = urllib2.Request('https://myurl/') 

私は取得していますエラー:

ctx = ssl.create_default_context() 
AttributeError: 'module' object has no attribute 'create_default_context' 

どのように私は機能としてはPython 2.6で同じ効果を得ることができcreate_default_contextそこには存在しないのですか?

答えて

3

私は2.6で、それをテストするためにインストールしていないが、私は動作します直接のSSLContextコンストラクタを使用したと仮定:「モジュール:

import ssl 
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1) 
context.verify_mode = ssl.CERT_NONE 
context.check_hostname = False 

req = urllib2.urlopen('https://myurl/', context=context) 
+1

この 'コンテキスト= ssl.SSLContext(ssl.PROTOCOL_TLSv1) はAttributeErrorを得ました'オブジェクトに属性がありません' SSLContext'' – Jas

+0

Hm、私が見る限り、Python 2.6でssl/urllib2は証明書を検証しません。コンテキスト全体の内容を削除するだけで、自己署名証明書にエラーが発生しますか? – Daniel

+0

はい、Python 2.6.4でssl/sudsを使用しています。自動確認されたhttpsサーバ(Cisco Call Manager)に接続するためにコンテキストを変更する必要はありません –

関連する問題