首页 > 解决方案 > 如何修复 InsecureRequestWarning:正在向主机发出未经验证的 HTTPS 请求

问题描述

我正在尝试从 url 下载 zip 文件,但收到以下警告

InsecureRequestWarning: Unverified HTTPS request is being made to host 'www.ons.gov.uk'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings   

我读了一点,大多数线程都围绕如何禁用它(如果你知道你在做什么)和整体的一般概念。据我了解,库是否不能默认执行request证书验证?为什么要对开源文件发出安全请求?我在这里暴露了一些东西,我该如何解决这个问题?

这是我的代码

import pandas as pd
import requests
from requests.auth import HTTPBasicAuth
from zipfile import ZipFile
import io

url = "https://www.ons.gov.uk/file?uri=%2fpeoplepopulationandcommunity%2fhousing%2fdatasets%2fukhousebuildingpermanentdwellingsstartedandcompleted%2fcurrent/ukhousebuilding.zip"


response = requests.get(url, headers={'User-Agent': 'Mozilla/5.0'}, verify=False)
with ZipFile(io.BytesIO(response.content)) as myzip:
    with myzip.open(myzip.namelist()[0]) as hfile:
        df = pd.read_csv(hfile)

print(df)

显然,此警告仅在我使用时出现verify=False,它实际上不应该阻止此警告吗?

很抱歉问了太多问题,但我想了解这里发生了什么。如果我误解了这个概念,请纠正我。

标签: pythonpython-requests

解决方案


推荐阅读