Envoi d'une requête TLS 1.2 en Python 2.6
Je suis bloqué à l'aide de Python 2.6 et j'ai besoin d'envoyer une requête post à l'aide de TLS 1.2. Python 2.6 du requests
bibliothèque de prise en charge de TLS 1.2? Comment puis-je m'assurer/assurer que la demande est faite par TLS1.2 et pas une autre version?
Un exemple de demande est
r=requests.post(url,data=payload,verify=False)
Quelque part sur le forum, je suis venu pour savoir que nous avons besoin de compiler pyOpenSSL
à l'appui de cette. Est-il un moyen plus facile?
source d'informationauteur MultipleCrashes
Vous devez vous connecter pour publier un commentaire.
La
ssl
module en Python 2.6 prend en charge jusqu'à TLS 1.0. Si vous ne souhaitez pas introduire d'autres dépendances (comme pyOpenSSL comme vous le suggérez), vous devrez passer à Python 2.7 ou 3.x pour obtenir de l'aide pour les nouvelles versions de TLS.Pour forcer une version particulière de TLS dans Python 2.7.9 ou plus tardconstruire un
SSLContext
avec lePROTOCOL_*
constante. Vous pouvez alors l'utiliser avec une API qui vous permet de fournir votre propreSSLContext
.Utilisation d'un protocole version ou plus (y compris les versions futures), l'utilisation
ssl.PROTOCOL_SSLv23
et de désactiver le protocole de versions que vous ne souhaitez pas utiliser:Que pour l'aide personnalisée
SSLContext
avec les Demandes afin de forcer un particulier de la version du protocole,selon la documentation il ne semble pas y avoir un moyen de le fairevoir l'exemple suivant de la documentation.Si vous mettez à jour le code n'est pas une option, vous devriez être en mesure de proxy de votre connexion à l'aide d'un serveur squid ou nginx. Voici un calmar "bosse" de la méthode exemple:
Puis-je utiliser le Calmar à la mise à niveau du client connexions TLS?
Une autre option est de garder le proxy mais réécrire l'URL (http, https) et de votre demande d'envoyer des requêtes http (qui semble étrange, mais fonctionne si mis en œuvre à droite).