<urlopen error [Errno 1] _ssl.c:510: error:14077417:SSL

<urlopen error [Errno 1] _ssl.c:510: error:14077417:SSL

有谁知道我为什么会收到这个错误?

SSLError: [Errno 1] _ssl.c:510: error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1

我在使用请求或 urllib2 时遇到错误,我在 Kodi 上 运行 编译代码。当我在我的电脑上 Visual Studio 上 运行 时,代码 运行 没问题。

我正在尝试抓取一个被我的 ISP 阻止的网站,所以我正在使用该网站的代理版本。

import requests

url = 'https://kickass.unblocked.pe/'
r = requests.get(url)

该网站由 Cloudflare Free SSL 托管,需要支持 Server Name Indication (SNI)。 Python 2.7 仅从 2.7.9 版本开始支持 SNI。我猜你使用的是旧版本。

verify=False(这通常是个坏主意)在这里无济于事,因为如果没有 SNI,握手将失败,因为服务器不知道请求哪个证书,因此不会发送任何证书,而是发送一个警报。