Unverified HTTPS request is being made to host '101.42.106.5'. Adding certificate verification is
时间: 2024-05-30 22:11:57 浏览: 132
necessary to ensure secure communication and prevent potential security risks. Without certificate verification, there is a possibility that the connection could be intercepted by a third party, leading to data breaches and other security issues. Therefore, it is recommended to add certificate verification to any HTTPS requests being made to ensure secure communication.
相关问题
InsecureRequestWarning: Unverified HTTPS request is being made to host 'storage.googleapis.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html#ssl-warnings warnings.warn(是什么意思
这个警告通常表示在使用 Python 的 requests 库进行 HTTPS 请求时,没有进行 SSL 证书验证,存在安全风险。具体来说,这个警告是由于 requests 库默认会对 HTTPS 请求进行 SSL 证书验证,但是在请求中没有指定 SSL 证书,因此会导致警告的出现。
警告中提到了一个链接 https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html#ssl-warnings,这个链接提供了一些关于 SSL 证书验证的高级使用方法,可以帮助避免这个警告的出现。
为了避免这个警告,可以通过以下两种方式进行 SSL 证书验证:
1. 使用 verify 参数进行 SSL 证书验证:
```
import requests
response = requests.get('https://example.com', verify='/path/to/cert.pem')
```
其中,`/path/to/cert.pem` 是 SSL 证书的路径。
2. 禁用 SSL 证书验证:
在测试环境下,可以通过以下方式禁用 SSL 证书验证:
```
import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
response = requests.get('https://example.com', verify=False)
```
不过,在生产环境中不建议禁用 SSL 证书验证,因为这会降低请求的安全性。
C:\Users\zlj\lib\site-packages\urllib3\connectionpool.py:1095: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.github.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings warnings.warn(
这个警告是因为你正在使用urllib3发送一个未经验证的HTTPS请求到api.github.com,这可能会存在安全风险。为了解决这个问题,你需要对HTTPS请求进行验证。
你可以使用certifi模块来验证HTTPS请求,certifi是一个Python包,里面包含了Mozilla根证书库,可以用来验证SSL证书。你可以使用以下代码来解决警告问题:
```python
import certifi
import urllib3
http = urllib3.PoolManager(
cert_reqs='CERT_REQUIRED',
ca_certs=certifi.where()
)
response = http.request('GET', 'https://api.github.com')
```
在上面的代码中,我们首先导入了certifi和urllib3模块,然后创建了一个urllib3的连接池对象,并设置了`cert_reqs`参数为`CERT_REQUIRED`,表示要求验证SSL证书,`ca_certs`参数设置为`certifi.where()`,表示使用certifi中的根证书库进行验证。最后我们使用连接池对象发送了一个GET请求到https://api.github.com。这样就可以避免上述警告问题。
阅读全文