当前位置: 动力学知识库 > 问答 > 编程问答 >

ssl certificate - HandShake Failure in python(_ssl.c:590)

问题描述:

When I execute the below line,

req = urllib2.Request(requestwithtoken)

self.response = urllib2.urlopen(req,self.request).read()

I am getting the following exception:

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

The thing is I am able to get the token by pinging the service by using curl.

During the process of retrieving the token, all the certificates were verified.

In turn, by using the generated token, i am not able to connect to the service.

I am getting the above error while trying.

What could be the reason for that?

网友答案:

I was having the same issue. It's probably because your remote server requests cipher that isn't supported by urllib2. I think there're two solutions possible:

  1. Enable your specific cipher in urllib. I think you can also enable all ciphers supported (see the very bottom of the page) but rather check which one you're using with curl as shown in the link above.

  2. Install requests with extra security packages using: pip install requests[security]. It's further discussed in this requests issue on github.

I did the second option and it worked for me.

分享给朋友:
您可能感兴趣的文章:
随机阅读: