- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 Python 和请求抓取一些内部页面。我已经关闭了 SSL 验证和警告。
requests.packages.urllib3.disable_warnings()
page = requests.get(url, verify=False)
在某些服务器上,我收到无法通过的 SSL 错误。
Traceback (most recent call last):
File "scraper.py", line 6, in <module>
page = requests.get(url, verify=False)
File "/cygdrive/c/Users/jfeocco/VirtualEnv/scraping/lib/python3.4/site-packages/requests/api.py", line 71, in get
return request('get', url, params=params, **kwargs)
File "/cygdrive/c/Users/jfeocco/VirtualEnv/scraping/lib/python3.4/site-packages/requests/api.py", line 57, in request
return session.request(method=method, url=url, **kwargs)
File "/cygdrive/c/Users/jfeocco/VirtualEnv/scraping/lib/python3.4/site-packages/requests/sessions.py", line 475, in request
resp = self.send(prep, **send_kwargs)
File "/cygdrive/c/Users/jfeocco/VirtualEnv/scraping/lib/python3.4/site-packages/requests/sessions.py", line 585, in send
r = adapter.send(request, **kwargs)
File "/cygdrive/c/Users/jfeocco/VirtualEnv/scraping/lib/python3.4/site-packages/requests/adapters.py", line 477, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: [SSL: SSL_NEGATIVE_LENGTH] dh key too small (_ssl.c:600)
在 Windows 和 OSX 中,这在 Cygwin 内外都会发生。我的研究暗示服务器上有过时的 OpenSSL。我正在理想地寻找修复客户端。
编辑:我能够通过使用密码集来解决这个问题
import requests
requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS += 'HIGH:!DH:!aNULL'
try:
requests.packages.urllib3.contrib.pyopenssl.DEFAULT_SSL_CIPHER_LIST += 'HIGH:!DH:!aNULL'
except AttributeError:
# no pyopenssl support used / needed / available
pass
page = requests.get(url, verify=False)
最佳答案
这不是一个额外的答案只是尝试将问题的解决方案代码与额外信息结合起来这样其他人就可以直接复制它而无需额外尝试
这不仅是服务器端的 DH Key 问题,还有很多不同的库在 python 模块中不匹配。
下面的代码段用于忽略那些安全问题,因为它可能无法在服务器端解决。例如,如果它是内部遗留服务器,则没有人愿意更新它。
除了 'HIGH:!DH:!aNULL'
的黑客字符串外,urllib3如果有,可以导入模块以禁用警告
import requests
import urllib3
requests.packages.urllib3.disable_warnings()
requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS += ':HIGH:!DH:!aNULL'
try:
requests.packages.urllib3.contrib.pyopenssl.util.ssl_.DEFAULT_CIPHERS += ':HIGH:!DH:!aNULL'
except AttributeError:
# no pyopenssl support used / needed / available
pass
page = requests.get(url, verify=False)
关于Python - requests.exceptions.SSLError - dh key 太小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38015537/
这是代码: from Tkinter import * def main(): w1 = Tk() w1["height"] = 400; w1["width"] = 500;
我想问一下 scrollView 中 imageView 的布局问题。但是,显示出来的图像非常非常小。即使是 1024 * 1024 px 图片也无法完全占据普通手机的整个屏幕宽度。 如何修改它使得对
我发现我的某个应用程序的启动器图标太小了。该设备是 samsung nexus galaxy,因此它应该使用 mdpi 文件夹中的可绘制对象。 我希望图标大小为 72 x 72 像素。其实这个图标看起
我一直想知道:ptrdiff_t 是否应该能够保存任意两个指针的差异定义?两个指针太远怎么会失败? (我不是指任何特定的语言...我指的是所有具有这种类型的语言。) (例如,当您有 32 位指针时,从
我有一个 QAbstractItemDelegate 并且在 paint 方法中,我试图从标签中绘制文本。但我看到的问题是 QLabel 的大小提示对于它包含的文本来说总是太小。我怎样才能解决这个问题
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我的程序使用 wx.ProgressDialog对多个阶段的流程提供反馈。在每个阶段开始时,我使用 Update 的第二个参数来更改对话框中的消息。 问题在于对话框的宽度是根据构造函数中的消息确定的,
我有一个动态数据数组,其中包含 3 个用于构建饼图的整数。在大多数情况下,IE 运行良好:[5,10,3]。饼图渲染正确,您可以看到所有部分。 但是在某些情况下,数字可能相差很大。即 [1,500,2
我有一个长度为 28 的字符串,它代表基数 16 中的 1 个数字。 long num=strtol(str,NULL,16); 但它适用于小字符串而不是长字符串(它给了我一个否定的结果)。那么对于长
我正在编写一个 PhoneGap 应用程序并使用 Twitter 的 Bootstrap 进行响应式设计。 校园/帐户/部门的框是选择框。我认为很明显的问题是选择框很小,当我在 css 中尝试时无法更
我正在使用这段代码来显示 UIAlert,它将询问简单的输入 UIAlertController *alert = [UIAlertController alertControllerWithTitl
我有一个带复选框的 HTML 公式列表。所有复选框都有一个标签。 我正在使用 flexbox 设计这个公式。使用 flexbox 使其中一个复选框比其他所有复选框都小。原因似乎是该复选框的标签文本太长
我正在这里处理一些 javascript svg 图形,我发现我真的不能依赖 Firefox 上 window.innerHeight(或outerHeight)的值。我正在运行 Ubuntu 12.
单击左侧边栏中的图像 http://vaiman.org/我们的 YouTube 盒子太小了。我需要扩大 YouTube 区域。怎么办? 这是我的 JavaScript 代码 ( http://vai
我有一个视频 View 来流式传输视频,它工作正常但视频的大小太小,我尝试在 API 演示中进行流式传输并且同一视频的大小是正常的。我做错了什么?这是一些代码: main.xml:
我发现 Android Studio (v1.0.1) 布局“设计” View 太小而无用 - 我几乎看不到一些元素。 “缩放”按钮仅显示布局的一小部分。有没有办法分离 View 以便我可以放大它?
嘿,我正在使用 HTML 标签,当我在 Safari 中打开页面时,视频播放器非常小。 如果我启用全屏然后返回,它会正确聚焦。 我不确定是什么原因导致它最初加载不正确。 HTML代码:
我在 UIPopoverController 中显示了一个 UIPickerView。 UIPickerView 的尺寸为:320x216。出于某种原因,UIPickerView 似乎是正常高度的 3
当我给 matplotlib 一个注释字符串时,例如 '$\frac{A}{B} = C$' 我指定字体大小为 18,A 和 B 以 12.6 pt 呈现,而 C 以 18 pt 呈现。我希望 A、B
我有一个条形图,不知何故,整个 svg 容器只是矩形以及落在矩形所在区域的所有内容,因此 y 轴刻度被留在容器之外。我怎样才能解决这个问题,以便顶部的文本和 y 轴刻度(图像)不会留在外面。 我的代码
我是一名优秀的程序员,十分优秀!