SSL握手错误:[Errno 1]

时间:2015-08-17 16:29:42

标签: python http ssl urllib2 httplib

我正在尝试使用Python Httplib2访问此站点:

https://www.talkmore.no/talkmore3/servlet/Login

但是我收到了这个错误:

httplib2.SSLHandshakeError: [Errno 1] _ssl.c:510: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

这是我使用的python代码:

login = "user"
pwd = "pass"
headers = {'Content-type': 'application/x-www-form-urlencoded'}
data = {'username':login, 'password':pwd}
h = httplib2.Http(".cache", disable_ssl_certificate_validation=True)

resp, content = h.request("https://www.talkmore.no/talkmore3/servlet/Login", "POST", urlencode(data))

我尝试过使用其他库,但发生了同样的错误..

1 个答案:

答案 0 :(得分:0)

服务器本身很好,支持TLS1.0 ... TLS1.2(但没有SSL 3.0)。它还支持常用的密码,使用你的python代码不会给我带来任何错误。这意味着您要么安装了一些旧的和错误的python / OpenSSL版本(问题中缺少版本的详细信息),或者中间有一些中间件阻止连接(即防火墙或类似)。

请尝试使用普通浏览器从同一台计算机访问同一个https网站,看看是否遇到同样的问题。如果是,那么有一些中间件阻止数据。如果浏览器成功,请进行数据包捕获(使用tcpdump或类似方法)来查看浏览器发送的数据与测试程序之间的差异,从而缩小潜在问题的范围。