使用 urllib.request 验证 HTTPS 证书

2023-11-25

我正在尝试使用以下命令打开 https URLurlopenPython 3 中的方法urllib.request模块。它似乎工作正常,但文档警告说“[i]如果两者都没有cafile nor capath指定后,HTTPS 请求不会对服务器的证书进行任何验证”。

我猜想,如果我不希望我的程序容易受到中间人攻击、吊销证书问题和其他漏洞,我需要指定这些参数之一。

cafile and capath应该指向证书列表。我应该从哪里得到这个清单?是否有任何简单且跨平台的方法来使用我的操作系统或浏览器使用的相同证书列表?


适用于 python 2.7 及以上版本

context = ssl.create_default_context(cafile=certifi.where())
req = urllib2.urlopen(urllib2.Request(url, body, headers), context=context)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 urllib.request 验证 HTTPS 证书 的相关文章

随机推荐

  • MongoDB 我们如何获取所有当前打开的游标以及它们正在运行的查询?

    一些用户打开 mongo 游标并设置 noTimeout 我想列出所有打开的游标 它们的 ID 它们的选项 它们正在运行的查询 该游标的开始时间 最后一次使用它的时间 getmore 有什么命令可以做到这一点吗 有人可以给我一些提示 以便我
  • Azure 移动服务、HttpClient、授权

    我可以使用 NET 的 HttpClient 访问 Azure 移动服务吗 如何使用内置的移动服务进行身份验证自定义身份验证 授权模式使用 HttpClient 这总是返回 401 因为我没有传递任何身份验证凭据 var client ne
  • 如何从 VBScript 调用 C# DLL 函数

    我的脚本位于服务器上 因此我没有可用的 UI 交互 必须使用 DLL 而不是控制台应用程序 如何从 VBScript 调用 C DLL 中的函数 我如何使我的DLL成为COMVisible 我必须注册吗 您需要通过设置将您的程序集标记为 C
  • JQuery ajax() 获取 xml 响应文本

    我正在尝试从 Gmail API 检索一些 XML 到目前为止我有这个 ajax url https mail google com mail feed atom success function data console log data
  • 控制 Java 应用程序中的音量

    我对java相当陌生 我需要在java应用程序中控制音量 音量增大 减小 静音 我找不到办法做到这一点 我正在Linux系统上进行开发 仅供参考 我厌倦了这段代码 Java代码 Port lineIn FloatControl volCtr
  • JavaScript 可以在 window.open 上设置 mime 类型吗

    我正在尝试在 Javascript 中打开一个调试窗口 Javascript 将向调试窗口传递一个 JSON 字符串 其中JSONView Chrome 扩展 应该以格式良好的方式显示 为此 MIME 类型必须是 application j
  • 将 MembershipProvider 注入 ASP.NET MVC AccountController

    ASP NET MVC 1 0 项目模板包括AccountController类 支持构造函数注入 public AccountController IFormsAuthentication formsAuth IMembershipSer
  • Java RMI - 将客户端变成服务器

    如果我想在我的 RMI 应用程序中启用 双向 通信 即允许服务器调用客户端上的方法 以及允许客户端调用服务器上的方法 最简单的方法就是让客户端进入还有远程课程吗 另外 如果我打算将客户端实例作为方法参数传递给服务器 我认为不需要将 客户端类
  • 如何让 Grails 从 Maven 存储库获取最新的本地 jar?

    在我的 Maven 存储库 m2 中 我本地有一个像 sub app 0 1 jar 这样的 jar 我在常春藤缓存中有相同的副本 I run maven install在 sub app 上创建新的 sub app 0 1 jar 文件
  • Resque-Scheduler 无法与 Rails 4.2 中的 ActiveJob 配合使用

    有人能够在 Rails 4 2 中获得预定的工作吗 我正在使用 resque 并且尝试使用 resque scheduler 来安排作业 我有一个已加载的时间表 并且调度程序正在运行 甚至看起来它正在运行作业 但它没有执行任何操作 resq
  • 像聊天一样带有三角形的盒子

    我想用 CSS 制作一个矩形框 后面跟着一个小三角形 就像this 我已经做到了 但我想要与 after 相同的输出 我已经尝试过 但无法打印任何内容 p display inline block padding 5px 6px 8px 6
  • 在 MVC 4 中从数据库填充 Select2 下拉框

    我需要帮助编写 jquery ajax 来填充Select2下拉框 对于那些不知道什么的人Select2是的 它是一个 JavaScript 扩展 用于为 html 选择列表下拉框提供 Twitter Bootstrap 外观和搜索 提前输
  • iPhone:AVCaptureSession 捕获输出崩溃(AVCaptureVideoDataOutput)

    我正在捕获视频并将其转换为 CGImage 以对其进行处理 它将工作约 10 秒 收到内存警告 然后崩溃 通常表示数据格式化程序暂时不可用 有人可以帮我解决这个问题吗 void captureOutput AVCaptureOutput c
  • Mesh 在 Three.js 中突然消失了。剪裁?

    设想 在我的场景中 我实现了一个顶点着色器 它将平面网格放置在相机位置的 xz 轴上 因此 如果相机移动 平面网格也会随之移动 这会产生这样的视觉效果 在移动相机时 平面网格似乎保持固定在原位 这似乎工作正常 Problem 如果我将相机
  • 从 List 转换为 List> 是否安全?

    If you have a raw type in Java you can safely assign cast this to the same type with an unbounded wildcard For example a
  • 将 SQLite 请求中的 strftime 转换为 MySQL

    我转换了 SQLite 行 WHERE strftime d m orders created at 直接到 MySQL 怪物 WHERE CONCAT CAST DAY orders created at AS CHAR LPAD CAS
  • 使用 VBA 关闭 Excel 应用程序

    我使用了以下内容但没有成功 实际上 活动工作簿已关闭 但 Excel 窗口仍保持打开状态 Application ActiveWindow Close SaveChanges False ActiveWorkbook Close SaveC
  • 我可以将 Grunt 与 TFS 一起使用吗?

    我的新项目需要我使用 TFS Git 坦白 我对TFS一无所知 我想为我的 JavaScript 项目设置一个构建 我想使用咕噜 这可能吗 有人用过 Grunt 和 TFS 吗 在我们当前的项目中 我们使用 Grunt 和 TFS 我通过从
  • 使用 CSS 功能/功能检测来检测 IE 版本

    IE10 不再支持浏览器检测标签来识别浏览器 为了检测 IE10 我使用 JavaScript 和能力测试技术来检测某些ms前缀样式定义如下msTouchAction and msWrapFlow 我想对 IE11 执行同样的操作 但我假设
  • 使用 urllib.request 验证 HTTPS 证书

    我正在尝试使用以下命令打开 https URLurlopenPython 3 中的方法urllib request模块 它似乎工作正常 但文档警告说 i 如果两者都没有cafile nor capath指定后 HTTPS 请求不会对服务器的