【问题标题】:Python Requests Not Respecting verify=FalsePython请求不尊重验证=假
【发布时间】:2016-03-15 14:51:46
【问题描述】:

即使在 verify=False 时,Python 请求也会给我一个 ssl 握手失败(我知道不使用 SSL 是不可取的)。对于其他具有有效证书的站点,请求按预期工作。我正在使用2.7。

from lxml import html
import requests
import csv

outputfile  = open('/Users/jim/Documents/FabFoundationURLs.csv', "wb")
writer = csv.writer(outputfile, delimiter=';', quotechar='"', quoting=csv.QUOTE_MINIMAL)

source = 'https://www.fablabs.io/labs'

page = requests.get(source, verify=False)
tree = html.fromstring(page.content)

#This will create a list of links:
links = tree.xpath('/html/body/div[@id="main"]/div[2]/div[1]/div[2]//span/a/text()')

targets = links

print links

这是一个例外:

SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:590) 

【问题讨论】:

  • 你忘了包括你得到的确切例外。
  • 对不起!它现在就在上面。

标签: python ssl python-requests


【解决方案1】:

SSL 握手错误可能是协议错误而不是证书验证错误。在这种情况下,它发生在证书验证之前:您无法建立 SSL 连接并且 verify=False 将无济于事。协议错误通常是指未知/未安装的 SSL 密码版本。

您可以尝试在请求中重新安装额外的密码(在 Ubuntu 18.04 上对我有效,但在 OS X 上无效)

pip install requests[security]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 2016-06-19
    相关资源
    最近更新 更多