1. 程式人生 > >Python3.7 urllib.request https urllib.error.URLError

Python3.7 urllib.request https urllib.error.URLError

Python3.7 urllib.request https urllib.error.URLError

在python3.7中,請求https出現urllib.error.URLError異常,導致程式報錯;

異常如下:
urllib.error.URLError: urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1045)

SSL?

解決方案:
1、

import
ssl ssl._create_default_https_context = ssl._create_unverified_context

在urllib.request.urlopen()前加上此一句話,在執行,即可;

2、

import ssl
context = ssl._create_unverified_context()

res = urllib.request.urlopen(url, data, context=context);

建立一個未經驗證的上下文,在urlopen()中新增,在執行,即可

第一種方法是訪問https,在瀏覽器中訪問該網站時會彈出證書不受信任,忽略就行了 ;
第二種是建立一個未經驗證的上下文。