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 also had the same issue. Check which version of requests you are using.
If the version is 2.18.4, you should try downgrading to version 2.11.1. I did this, and it fixed my problem. To do this, issue the following commands in the terminal
Hope this helps.
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:
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 withcurl
as shown in the link above.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.