requests.get() 和 urrlib.request.urlopen() python 的区别

Anm*_*tia 3 python

当我使用:

import requests
r = requests.get("https://example.com")  
Run Code Online (Sandbox Code Playgroud)

我收到以下异常:

requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645)
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用以下代码:

url = "https://www.example.com"
request = urllib.request.urlopen(url)
Run Code Online (Sandbox Code Playgroud)

它给了我正确的 response[200] 代码。为什么会这样?这两种方法有什么区别,应该首选哪一种?

wol*_*pha 6

使用前一个:我将添加为什么它更好的来源。无论如何,您需要设置verifyFalse以防止请求验证 HTTPS 请求的 SSL 证书:

import requests
r = requests.get("https://example.com", verify=False)
Run Code Online (Sandbox Code Playgroud)

编辑:

requests.get() 和 urllib.request.urlopen() python 的区别

urllib、urllib2 和 requests 模块之间有什么区别?