Je reçois cette erreur lorsque j'essaie d'exécuter le code: Je l'exécute sur Windows 8.1, je peux ouvrir https avec des demandes sans problème, mais pas si je Utilisez Mécaniser I Obtenir l'erreur.
Mon code: p>
3 Réponses :
Il existe plusieurs correctifs SSL critiques apportés à Python Core et Bibliothèques. P>
Sauf si vous utilisez déjà la dernière version 2.7.x Python et les dernières versions de mécanismes, il s'agit d'un exemple simple d'utilisation Oui, la partie amusante sur SSL est que le même code qui a fonctionné hier peut ne pas fonctionner demain. P>
Je trouve les travaux de contournement suivants pour moi au cas où cela n'aurait pas la version la plus récente de Python ou de mécaniser. Ajoutez le code suivant avant d'appeler Br.Open ():
import socket import httplib import ssl def connect(self): sock = socket.create_connection((self.host, self.port), self.timeout, self.source_address) if self._tunnel_host: self.sock = sock self._tunnel() self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file, ssl_version=ssl.PROTOCOL_TLSv1) httplib.HTTPSConnection.connect = connect
Appréciez si vous pouvez ajouter une image plus grande du code. Comment utilisez-vous Self.Sock? Qu'est-ce que self._tunnel_host?
Mettez ceci avant de bloquer le code de mécanisme, il fonctionnera comme charme
import ssl try: make_non_ssl_context = ssl._create_verified_context except AttributeError: pass else: ssl._create_default_https_context = make_non_ssl