Python请求不遵守verify = False

问题描述 投票:5回答:1

Python请求给我一个SSL握手失败,即使verify = False(我知道不使用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个回答
0
投票

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

您可以尝试在请求中重新安装额外的密码(在Ubuntu 18.04上为我工作,但在OS X上不为我工作)

pip install requests[security]
© www.soinside.com 2019 - 2024. All rights reserved.