2016-03-21 4 views
1

私はgoogle-pythonコースで練習しています。しかし、私はurllibに問題があります。ここでは単純化されたコードは次のとおりです。python urllib got [Errno socket error]

import urllib 
url = 'http://www.google.com' 
ufile=urllib.urlopen(url) 

このコードは実際に動作しますが、私はいくつかの他のものにURLを変更した場合、のように:

url = 'https://developers.google.com/edu/python/utilities#exceptions' 

それはエラーが発生します:

IOError: [Errno socket error] [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) 

完全なエラー情報は次のとおりです。

Traceback (most recent call last): 
    File "practice2.py", line 4, in <module> 
    ufile=urllib.urlopen(url) 
    File "/home/jren/Canopy/appdata/canopy-1.6.2.3262.rh5-x86_64/lib/python2.7/urllib.py", line 87, in urlopen 
    return opener.open(url) 
    File "/home/jren/Canopy/appdata/canopy-1.6.2.3262.rh5-x86_64/lib/python2.7/urllib.py", line 213, in open 
    return getattr(self, name)(url) 
    File "/home/jren/Canopy/appdata/canopy-1.6.2.3262.rh5-x86_64/lib/python2.7/urllib.py", line 443, in open_https 
    h.endheaders(data) 
    File "/home/jren/Canopy/appdata/canopy-1.6.2.3262.rh5-x86_64/lib/python2.7/httplib.py", line 1049, in endheaders 
    self._send_output(message_body) 
    File "/home/jren/Canopy/appdata/canopy-1.6.2.3262.rh5-x86_64/lib/python2.7/httplib.py", line 893, in _send_output 
    self.send(msg) 
    File "/home/jren/Canopy/appdata/canopy-1.6.2.3262.rh5-x86_64/lib/python2.7/httplib.py", line 855, in send 
    self.connect() 
    File "/home/jren/Canopy/appdata/canopy-1.6.2.3262.rh5-x86_64/lib/python2.7/httplib.py", line 1274, in connect 
    server_hostname=server_hostname) 
    File "/home/jren/Canopy/appdata/canopy-1.6.2.3262.rh5-x86_64/lib/python2.7/ssl.py", line 352, in wrap_socket 
    _context=self) 
    File "/home/jren/Canopy/appdata/canopy-1.6.2.3262.rh5-x86_64/lib/python2.7/ssl.py", line 579, in __init__ 
    self.do_handshake() 
    File "/home/jren/Canopy/appdata/canopy-1.6.2.3262.rh5-x86_64/lib/python2.7/ssl.py", line 808, in do_handshake 
    self._sslobj.do_handshake() 
IOError: [Errno socket error] [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) 

ありがとうございました! SSLコンパイラオプションが開いているとき

+0

コンピュータの時計が正しい時間を表示していることを確認してください。 –

答えて

1

Pythonははるかに厳格なSSL currently than it has been beforeです。あなたは一時的にバイパス ssl検証することができます。 this postを見てください。もちろんこれは永久的な解決策ではないかもしれませんが、developers.google.comの証明書を設定するアクセス権がない場合は、これが最善の方法かもしれません。

+0

ありがとうございます。できます! (これまでのところ、私はSSLについてはほとんど知りませんでしたが...) – jren

0

1チェックSSLバージョン

2は、つまり、ソケットモジュールの下部には、SSLのコンパイルモードをサポートすることであることを確認します。

3ポートエラー、それをチェック

+0

ご返信ありがとうございます。私はSSLとソケットについてはほとんど知っていませんので、気にしない場合は、これを行う方法を簡単に教えてください。再度、感謝します。 – jren

+0

ええと、私は初心者です。ちょうどこの問題を見ました。申し訳ありませんが、私はあなたに有用な助言を与えることはできません。 –

関連する問題