2016-03-21 25 views
1

google-python kursu ile pratik yapıyorum. Ancak, urllib ile sorunum var. İşte basitleştirilmiş kodudur:python urllib var [Errno soket hatası]

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

Bu kod gerçekten çalışıyor ama gibi bazı diğer olanları url değiştirirseniz:

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

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

Bu hata neden

Tüm hata bilgileri aşağıdaki gibidir:

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) 

Bunu okumak için çok teşekkür ederim! SSL derleyici seçeneği açıkken

+0

Bilgisayarınızın saatinin doğru zamanda görüntülendiğini kontrol edin! –

cevap

1

Python çok daha sıkı SSL currently than it has been before ile kontrol edin. Geçici olarak bys ssl doğrulaması yapabilirsiniz. this post'a bir göz atın. Elbette bu kalıcı bir çözüm olmayabilir, ancak developers.google.com sertifikalarını yapılandırmaya erişiminiz yoksa, yapabileceğiniz en iyi şey bu olabilir.

+0

Teşekkür ederim. İşe yarıyor! (nasıl çalıştığından emin değilim, ssl hakkında çok az şey bildiğim kadarıyla ...) – jren

0

1 çek SSL sürümü

2, yani yuva modülünün alt SSL derleme modunu desteklemek için olduğundan emin olmak için.

3 kapı hatası, bu

+0

Hızlı cevabınız için çok teşekkür ederim. SSL ve soket hakkında çok az şey biliyorum, eğer sakıncası yoksa, bunu nasıl yapacağınızı bana kısaca gösterebilir misiniz yoksa bunlar için tavsiye ettiğiniz herhangi bir okumaya sahip misiniz? Tekrar teşekkürler. – jren

+0

Um, ben newbie.I sadece bu soruna bir göz attım.Özür dilerim, size bazı yararlı tavsiyeler veremem. –

İlgili konular