Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:使用urllib2获取网站源代码(ssl问题)_Python_Ssl_Urllib2 - Fatal编程技术网

Python:使用urllib2获取网站源代码(ssl问题)

Python:使用urllib2获取网站源代码(ssl问题),python,ssl,urllib2,Python,Ssl,Urllib2,正如我在标题中提到的,我想阅读一个网站的源代码。一切正常,但有时我会出错 错误 urllib2.URLError: <urlopen error [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:590) 如果无法使用urllib2执行此类操作,是否有您推荐的其他模块?这可能是由于服务器请求的某些ssl选项和urllib2库不支持造成的 我建议您安装并使用request库,因为它提供了更多

正如我在标题中提到的,我想阅读一个网站的源代码。一切正常,但有时我会出错

错误

urllib2.URLError: <urlopen error [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:590)

如果无法使用
urllib2
执行此类操作,是否有您推荐的其他模块?

这可能是由于服务器请求的某些ssl选项和
urllib2
库不支持造成的


我建议您安装并使用
request
库,因为它提供了更多的安全软件包和选项。

PS:我使用的是python2.7.10握手失败可能与缺少SNI或不支持更新协议或密码的旧OpenSSL版本类似。您可以尝试请求库,根据问题的未知原因,请求库可能工作得更好或失败。如果这无助于提供有关平台、OpenSSL版本的信息(
ssl.OpenSSL\u版本
)“OpenSSL 0.9.8zh 2016年1月14日”由于目标URL仍然未知,我猜测它需要ECDHE之类的密码和/或TLS 1.2之类的协议版本,这在这个过时的OpenSSL版本中是不可用的。你可以跟我核实一下。在本例中,请升级所有内容以使用更新的OpenSSL。网站:bs.to!使用
request
时会出现什么样的错误?这是:requests.exceptions.SSLError:[SSL:SSLV3\u ALERT\u HANDSHAKE\u FAILURE]SSLV3 ALERT HANDSHAKE FAILURE(_SSL.c:590)你能做些什么吗?当你试图连接到任何主机或仅连接到问题中指定的主机时会发生这种情况吗?只连接到特定主机!
import urllib2
urllib2.openurl("https://www.website.com")