使用 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 证书 的相关文章

  • 多输出堆叠回归器

    一次性问题 我正在尝试构建一个多输入堆叠回归器 添加到 sklearn 0 22 据我了解 我必须结合StackingRegressor and MultiOutputRegressor 经过多次尝试 这似乎是正确的顺序 import nu
  • VSCode Settings.json 丢失

    我正在遵循教程 并尝试将 vscode 指向我为 Scrapy 设置的虚拟工作区 但是当我在 VSCode 中打开设置时 工作区设置 选项卡不在 用户设置 选项卡旁边 我还尝试通过以下方式手动转到文件 APPDATA Code User s
  • 我应该使用 Python 双端队列还是列表作为堆栈? [复制]

    这个问题在这里已经有答案了 我想要一个可以用作堆栈的 Python 对象 使用双端队列还是列表更好 元素数量较少还是数量较多有什么区别 您的情况可能会根据您的应用程序和具体用例而有所不同 但在一般情况下 列表非常适合堆栈 append is
  • 嵌套列表的重叠会产生不必要的间隙

    我有一个包含三个列表的嵌套 这些列表由 for 循环填充 并且填充由 if 条件控制 第一次迭代后 它可能类似于以下示例 a 1 2 0 0 0 0 0 0 4 5 0 0 0 0 0 0 6 7 根据条件 它们不重叠 在第二次迭代之后 新
  • 使用主题交换运行多个 Celery 任务

    我正在用 Celery 替换一些自制代码 但很难复制当前的行为 我期望的行为如下 创建新用户时 应向tasks与交换user created路由键 该消息应该触发两个 Celery 任务 即send user activate email
  • Python 3d 绘图设置固定色阶

    我正在尝试绘制两个 3d 数组 第一个数组的 z 值在范围内 0 15 0 15 第二个来自 0 001 0 001 当我绘图时 色标自动遵循数据范围 如何设置自定义比例 我不想看到 0 001 的浅色 而应该看到 0 15 的浅色 如何修
  • 更好地相当于这个疯狂的嵌套 python for 循环

    for a in map for b in map a for c in map b for d in map c for e in map d print a b c d e 上面的代码用于创建图中一定长度的所有路径 map a 表示从
  • PyQt 使用 ctrl+Enter 触发按钮

    我正在尝试在我的应用程序中触发 确定 按钮 我当前尝试的代码是这样的 self okPushButton setShortcut ctrl Enter 然而 它不起作用 这是有道理的 我尝试查找一些按键序列here http ftp ics
  • Tensorboard SyntaxError:语法无效

    当我尝试制作张量板时 出现语法错误 尽管开源代码我还是无法理解 我尝试搜索张量板的代码 但不清楚 即使我不擅长Python 我这样写路径C Users jh902 Documents logs因为我正在使用 Windows 10 但我不确定
  • 打印数字时添加千位分隔符[重复]

    这个问题在这里已经有答案了 我真的不知道这个问题的 名称 所以它可能是一个不正确的标题 但问题很简单 如果我有一个数字 例如 number 23543 second 68471243 我想要它使print 像这样 23 54368 471
  • 从 Powershell 脚本安装 Python

    当以管理员身份从 PowerShell 命令行运行以下命令时 可以在 Windows 11 上成功安装 Python c temp python 3 11 4 amd64 exe quiet InstallAllUsers 0 Instal
  • 使用 python/numpy 重塑数组

    我想重塑以下数组 gt gt gt test array 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 为了得到 gt gt gt test2 array 11 12 21 22 13 14
  • 尽管我已在 python ctypes 中设置了信号处理程序,但并未调用它

    我尝试过使用 sigaction 和 ctypes 设置信号处理程序 我知道它可以与python中的信号模块一起使用 但我想尝试学习 当我向该进程发送 SIGTERM 时 但它没有调用我设置的处理程序 只打印 终止 为什么它不调用处理程序
  • 如何将 GAE 中一种 Kind 中的所有实体复制到另一种 Kind 中,而无需显式调用每个属性

    我们如何使用function clone entity 如中所述在 Python 中复制 Google App Engine 数据存储中的实体 而无需在 编译 时知道属性名称 https stackoverflow com question
  • 如果 PyPy 快 6.3 倍,为什么我不应该使用 PyPy 而不是 CPython?

    我已经听到很多关于PyPy http en wikipedia org wiki PyPy项目 他们声称它比现有技术快 6 3 倍CPython http en wikipedia org wiki CPython口译员开启他们的网站 ht
  • 每当使用 import cv2 时 OpenCV 都会出错

    我在终端上使用 pip3 install opencv contrib python 安装了 cv2 并且它工作了 但是每当我尝试导入 cv2 或运行导入了 cv2 的 vscode 文件时 在 python IDLE 上它都会说 Trac
  • 根据 Pandas 中的列表选择数据框行的子集

    我有一个数据框df1并列出x In 22 import pandas as pd In 23 df1 pd DataFrame C range 5 B range 10 20 2 A list abcde In 24 df1 Out 24
  • pandas.read_csv 将列名移动一倍

    我正在使用位于的 ALL zip 文件here http www fec gov disclosurep PDownload do 我的目标是用它创建一个 pandas DataFrame 但是 如果我跑 data pd read csv
  • 将索引与值交换的最快方法

    考虑pd Series s s pd Series list abcdefghij list ABCDEFGHIJ s A a B b C c D d E e F f G g H h I i J j dtype object 交换索引和值并
  • python 对浮点数进行不正确的舍入

    gt gt gt a 0 3135 gt gt gt print 3f a 0 314 gt gt gt a 0 3125 gt gt gt print 3f a 0 312 gt gt gt 我期待 0 313 而不是 0 312 有没有

随机推荐

  • 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 请求不会对服务器的