当我使用:
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] 代码。为什么会这样?这两种方法有什么区别,应该首选哪一种?
使用前一个:我将添加为什么它更好的来源。无论如何,您需要设置verify为False以防止请求验证 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 模块之间有什么区别?
| 归档时间: |
|
| 查看次数: |
17049 次 |
| 最近记录: |