9
votes

Obtenir une erreur d'échec de la vérification du certificat avec mécaniser

Je reçois cette erreur lorsque j'essaie d'exécuter le code: xxx

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: xxx


0 commentaires

3 Réponses :


0
votes

Il existe plusieurs correctifs SSL critiques apportés à Python Core et Bibliothèques.

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 Bibliothèques obsolètes .

Oui, la partie amusante sur SSL est que le même code qui a fonctionné hier peut ne pas fonctionner demain.


0 commentaires

1
votes

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


1 commentaires

Appréciez si vous pouvez ajouter une image plus grande du code. Comment utilisez-vous Self.Sock? Qu'est-ce que self._tunnel_host?



1
votes

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


0 commentaires