Poignée de main Échec en python(_ssl.c:590)
Lorsque j'exécute la ligne ci-dessous,
req = urllib2.Request(requestwithtoken)
self.response = urllib2.urlopen(req,self.request).read()
Je suis l'exception suivante:
SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:590)
Le truc c'est que je suis en mesure d'obtenir le jeton d'interroger le service à l'aide de curl
.
Pendant le processus de récupération de l'jeton, tous les certificats ont été vérifiées.
À son tour, en utilisant le jeton généré, je ne suis pas en mesure de se connecter au service.
J'obtiens l'erreur ci-dessus, tandis que d'essayer.
Quelle pourrait être la raison pour cela?
OriginalL'auteur Bharathi Kodeeswaran | 2015-11-18
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème. C'est probablement parce que votre serveur distant demandes de chiffrement qui n'est pas pris en charge par urllib2. Je pense qu'il y a deux solutions possibles:
Permettre à votre spécifique de chiffrement dans
urllib
. Je pense que vous pouvez également activer tous les algorithmes pris en charge (voir tout en bas de la page), mais plutôt de vérifier celle que vous utilisez aveccurl
comme indiqué dans le lien ci-dessus.Installer
requests
avec la sécurité supplémentaire packages à l'aide de:pip install requests[security]
. C'est expliqué plus loin dans cette les demandes question sur github.J'ai fait la deuxième option, et il a travaillé pour moi.
OriginalL'auteur martin
J'ai aussi eu le même problème. Vérification de la version de demandes vous utilisez.
Si la version est 2.18.4, vous devriez essayer la rétrogradation à la version 2.11.1. Je l'ai fait, et il a fixé mon problème.
Pour ce faire, exécutez les commandes suivantes dans le terminal
Espère que cette aide.
OriginalL'auteur CPSuperstore