Python開發|CERTIFICATE_VERIFY_FAILED的兩種解法

Chih-Hao,Cheng
2 min readOct 28, 2017

--

原本使用python 2.7,後來遇到一個解不了的問題

urllib2.URLError: <urlopen error [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:661)>

問一下微信群中的前輩,他們建議我用python 3.6,換了之後問題變成

urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)>

SSL: CERTIFICATE_VERIFY_FAILED的兩種解法

解法1

import ssl
import urllib.request
context = ssl._create_unverified_context()
print urllib.request.urlopen("https://www.google.com/", context=context).read()

解法2

import ssl
import urllib.request
ssl._create_default_https_context = ssl._create_unverified_context
print urllib.request.urlopen("https://www.google.com/").read()
Unlisted

--

--