requests.get() 和 urrlib.request.urlopen() 在 Python 中的区别
requests.get() 和 urrlib.request.urlopen() 在 Python 中的区别
这个问题已经有了答案:
当我使用以下代码:
import requests r = requests.get("https://example.com")
我会得到以下异常:
requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645)
但是,如果我使用以下代码:
url = "https://www.example.com" request = urllib.request.urlopen(url)
它会给我正确的响应[200]代码。为什么?这两种方法有什么区别,哪一个应该被优先选择?
admin 更改状态以发布 2023年5月21日
使用前者:
我会添加为什么它更好的源。
无论如何,您需要将verify
设置为False
,以防止请求验证HTTPS请求的SSL证书:
import requests r = requests.get("https://example.com", verify=False)
编辑:
python中requests.get()和urllib.request.urlopen()的区别