Désactiver la vérification du certificat de sécurité dans les requêtes Python
Lors des requêtes HTTPS, la bibliothèque de requêtes de Python vérifie le certificat SSL du serveur pour garantir que la connexion est sécurisée . Cependant, dans certains cas, par exemple lors de l'accès à des sites Web dont les certificats ont expiré, vous souhaiterez peut-être désactiver cette vérification.
Pour désactiver la vérification des certificats, utilisez l'argument verify dans la fonction request.post. Définissez-le sur False comme suit :
<code class="python">import requests requests.post(url='https://foo.example', data={'bar':'baz'}, verify=False)</code>
Cela permet d'effectuer la demande sans vérifier le certificat SSL. Cependant, il est important de noter que cela peut présenter un risque pour la sécurité, car cela ouvre la possibilité d’attaques de l’homme du milieu. Utilisez cette option avec prudence.
Utilisation d'un gestionnaire de contexte pour la vérification SSL
Si vous devez désactiver la vérification SSL pour plusieurs demandes dans un contexte spécifique, vous pouvez utiliser un gestionnaire de contexte comme suit :
<code class="python">import warnings import contextlib import requests from urllib3.exceptions import InsecureRequestWarning old_merge_environment_settings = requests.Session.merge_environment_settings @contextlib.contextmanager def no_ssl_verification(): opened_adapters = set() def merge_environment_settings(self, url, proxies, stream, verify, cert): # ... requests.Session.merge_environment_settings = merge_environment_settings try: with warnings.catch_warnings(): warnings.simplefilter('ignore', InsecureRequestWarning) yield finally: requests.Session.merge_environment_settings = old_merge_environment_settings for adapter in opened_adapters: try: adapter.close() except: pass with no_ssl_verification(): # Make requests without SSL verification here</code>
Ce gestionnaire de contexte définit temporairement verify sur False pour toutes les requêtes effectuées dans le bloc, puis revient au comportement par défaut à la sortie du bloc. Il supprime également l'avertissement SSL qui serait autrement déclenché.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!