当前位置: 首页 > 面试题库 >

如何在python 3.x中禁用ssl检查?

陶英达
2023-03-14
问题内容

我正在使用urllib.request.urlretrieve将文件下载到本地。

urllib.request.urlretrieve(url_string,file_name)

它引发错误:

ssl.CertificateError了未处理由用户代码消息:主机名“foo.net”不匹配的“a248.e.akamai.net”,“要么
_.akamaihd.net”,“ .akamaihd-staging.net”,’ 。 akamaized.net”,“_ .akamaized-
staging.net”

如果您将网址复制到Chrome中,它将向您显示一条通知,您需要说“继续浏览网址”之类的内容。


问题答案:

使用urllib.request.urlopen与自定义的SSL方面:

import ssl
import urllib.request

ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE

with urllib.request.urlopen(url_string, context=ctx) as u, \
        open(file_name, 'wb') as f:
    f.write(u.read())

或者,如果您使用requestslibrary,则可能会更简单:

import requests

with open(file_name, 'wb') as f:
    resp = requests.get(url_string, verify=False)
    f.write(resp.content)


 类似资料:
  • 我正在尝试编写一个集成测试,其中我们的测试使用Simple启动一个嵌入式HTTPS服务器。我使用创建了一个自签名证书,并且能够使用浏览器(特别是Chrome)访问服务器,并且我确实收到了关于自签名证书的警告。 但是,当我尝试使用Spring RestTemplate进行连接时,我得到了一个ResourceAccessException: 在单元测试之外的本地安装证书不是一个选项,因为这样就需要在每

  • 问题内容: 我正在尝试编写一个集成测试,其中我们的测试使用Simple启动一个嵌入式HTTPS服务器。我使用创建了自签名证书,keytool并能够使用浏览器(特别是Chrome浏览器)访问服务器,并且收到有关自签名证书的警告。 但是,当我尝试使用Spring RestTemplate进行连接时,出现ResourceAccessException: 从其他问题和博客 文章中,我已经看到了Hostna

  • 当我们出于开发目的或其他需要尝试访问SSL安全URL(或站点)时,当浏览器找不到我们正在访问的特定站点的有效SSL证书时,它会显示以下错误。 在WINDOWS OS中,它显示PROCEED选项,但在MAC OS中不显示此选项。 那么,如何简单地跳过MAC OS或其他操作系统中浏览器的SSL检查呢。

  • 我正在尝试使用以下代码在laravel中向支付endpoint发出后请求 我收到以下错误: 我在Apache上本地运行我的Laravel应用程序,所以我承认没有SSL运行的事实,但是我怎样才能绕过这个错误呢?在生产中将提供ssl??

  • 我正在将一个服务从Flask迁移到FastAPI,并使用Pydantic模型来生成文档。但是,我对模式检查有点不确定。我担心会有一些意想不到的数据(如不同的字段格式),它会返回一个错误。 在Pydantic文档中,有一些方法可以在不检查模式的情况下创建模型:https://Pydantic-docs . help manual . io/usage/models/# creating-models

  • 我不知道如何使Tkinter变灰。 我试着使用,但它不起作用,我得到一个错误,说 _特金特。TclError:错误选项“-enable”:必须是-column、-columnspan、-in、-ipadx、-ipady、-padx、-pady、-row、-rowspan或-sticky 如何临时禁用?