logo

Tutoriel sur les requêtes Python

Le Bibliothèque de requêtes en Python est l'une des parties intégrantes de Python permettant d'effectuer des requêtes HTTP vers une URL spécifiée. Qu'il s'agisse d'API REST ou de Web Scraping, les requêtes sont indispensables à apprendre pour aller plus loin avec ces technologies. Lorsqu'on fait une requête à un URI, il renvoie une réponse. Les requêtes Python fournissent des fonctionnalités intégrées pour gérer à la fois la requête et la réponse.

tri par sélection Java

Dans ce didacticiel, nous explorerons Qu'est-ce que Bibliothèque de requêtes Python , Comment faire Requêtes GET via les requêtes Python, les objets et méthodes de réponse, l'authentification à l'aide des requêtes Python, etc.



module de requêtes python

Table des matières

Qu'est-ce que le module Requêtes Python ?

  • Requests est une bibliothèque HTTP sous licence Apache2, qui permet d'envoyer des requêtes HTTP/1.1 à l'aide de Python.
  • Pour jouer avec le Web, les requêtes Python sont indispensables. Qu'il s'agisse d'accéder aux API, de télécharger des pages Facebook entières et bien d'autres choses intéressantes, il faudra faire une requête à l'URL.
  • Les demandes jouent un rôle majeur dans le traitement API REST , et Grattage Web .
  • Extrayez un exemple de script Python utilisant des requêtes et du Web Scraping – Implémentation du Web Scraping en Python avec BeautifulSoup

Installation des requêtes

L'installation des requêtes dépend du type de système d'exploitation utilisé, la commande de base n'importe où serait d'ouvrir un terminal de commande et d'exécuter,



pip install requests>

La méthode de base pour l'installation des requêtes sur n'importe quel système d'exploitation consiste à récupérer les fichiers de base et à installer les requêtes manuellement. Requests est activement développé sur GitHub, où le code est toujours disponible. Pour le code – visitez ici . Vous pouvez soit cloner le dépôt public :

git clone git://github.com/psf/requests.git>

Une fois que vous avez une copie de la source, vous pouvez l'intégrer dans votre propre package Python ou l'installer facilement dans vos packages de site :

cd requestspip install   .>

Pour plus de paiement – Comment installer des requêtes en Python – Pour Windows, Linux, Mac



Faire une demande

Le module de requêtes Python dispose de plusieurs méthodes intégrées pour effectuer des requêtes HTTP vers l'URI spécifié à l'aide de requêtes GET, POST, PUT, PATCH ou HEAD. Une requête HTTP est destinée soit à récupérer des données à partir d'un URI spécifié, soit à transmettre des données à un serveur. Il fonctionne comme un protocole requête-réponse entre un client et un serveur. Montrons comment envoyer une requête GET à un point de terminaison. La méthode GET est utilisée pour récupérer des informations du serveur donné en utilisant un URI donné. La méthode GET envoie les informations utilisateur codées ajoutées à la demande de page. La page et les informations codées sont séparées par le caractère « ? ». Par exemple:

https://www.google.com/search?q=hello>

Comment faire une requête GET via des requêtes Python

Le module de requêtes de Python fournit une méthode intégrée appelée obtenir() pour faire une requête GET à un URI spécifié.

Syntaxe

requests.get(url, params={key: value}, args)>

Exemple :

Essayons de faire une requête aux API de github à des fins d'exemple.

Python3




import> requests> > # Making a GET request> r>=> requests.get(>' https://api.github.com/users/naveenkrnl '>)> > # check status code for response received> # success code - 200> print>(r)> > # print content of request> print>(r.content)>

>

>

enregistrez ce fichier sous request.py et via l'exécution du terminal,

python request.py>

Sortir -

python-requests-get-method

Pour en savoir plus, visitez – Méthode GET – Requêtes Python

b+ arbres

Méthodes de requête HTTP

Méthode Description
OBTENIR La méthode GET est utilisée pour récupérer des informations du serveur donné en utilisant un URI donné.
POSTE La méthode de requête POST demande à un serveur Web d'accepter les données contenues dans le corps du message de requête, très probablement pour les stocker.
METTRE La méthode PUT demande que l'entité incluse soit stockée sous l'URI fourni. Si l'URI fait référence à une ressource déjà existante, elle est modifiée et si l'URI ne pointe pas vers une ressource existante, alors le serveur peut créer la ressource avec cet URI.
SUPPRIMER La méthode DELETE supprime la ressource spécifiée
TÊTE La méthode HEAD demande une réponse identique à celle d'une requête GET, mais sans le corps de la réponse.
CORRECTIF Il est utilisé pour modifier les capacités. La requête PATCH doit uniquement contenir les modifications apportées à la ressource, pas la ressource complète

Objet de réponse

Lorsqu'on fait une requête à un URI, il renvoie une réponse. Cet objet Response en termes de python est renvoyé par request.method(), la méthode étant – get, post, put, etc. Response est un objet puissant avec de nombreuses fonctions et attributs qui aident à normaliser les données ou à créer des portions idéales de code. Par exemple, réponse.status_code renvoie le code d'état des en-têtes lui-même, et on peut vérifier si la demande a été traitée avec succès ou non. L'objet de réponse peut être utilisé pour impliquer de nombreuses fonctionnalités, méthodes et fonctionnalités.

Exemple :

Python3




# import requests module> import> requests> # Making a get request> response>=> requests.get(>' https://api.github.com/ '>)> # print request object> print>(response.url)> # print status code> print>(response.status_code)>

>

>

Enregistrez ce fichier sous request.py et exécutez-le à l'aide de la commande ci-dessous

Python request.py>

réponse-python-demandes

Le code d'état 200 indique que la demande a été effectuée avec succès.

Méthodes de réponse

Méthode Description
réponse.headers réponse.headers renvoie un dictionnaire d'en-têtes de réponse.
réponse.encodage Response.encoding renvoie l'encodage utilisé pour décoder Response.content.
réponse.écoulée réponse.elapsed renvoie un objet timedelta avec le temps écoulé entre l'envoi de la demande et l'arrivée de la réponse.
réponse.close() réponse.close() ferme la connexion au serveur.
réponse.content réponse.content renvoie le contenu de la réponse, en octets.
réponse.cookies réponse.cookies renvoie un objet CookieJar avec les cookies renvoyés par le serveur.
réponse.historique réponse.history renvoie une liste d'objets de réponse contenant l'historique de la demande (url).
réponse.is_permanent_redirect réponse.is_permanent_redirect renvoie True si la réponse est l'URL redirigée permanente, sinon False.
réponse.is_redirect réponse.is_redirect renvoie True si la réponse a été redirigée, sinon False.
réponse.iter_content() réponse.iter_content() parcourt le réponse.content.
réponse.json() réponse.json() renvoie un objet JSON du résultat (si le résultat a été écrit au format JSON, sinon il génère une erreur).
réponse.url réponse.url renvoie l'URL de la réponse.
réponse.texte réponse.text renvoie le contenu de la réponse, en Unicode.
réponse.status_code réponse.status_code renvoie un nombre qui indique l'état (200 est OK, 404 est Introuvable).
réponse.demande réponse.request renvoie l'objet de requête qui a demandé cette réponse.
réponse.raison réponse.reason renvoie un texte correspondant au code d'état.
réponse.raise_for_status() réponse.raise_for_status() renvoie un objet HTTPError si une erreur s'est produite pendant le processus.
réponse.ok réponse.ok renvoie True si status_code est inférieur à 200, sinon False.
réponse.liens réponse.links renvoie les liens d'en-tête.

Authentification à l'aide de requêtes Python

L'authentification fait référence à l'octroi à un utilisateur des autorisations pour accéder à une ressource particulière. Étant donné que tout le monde ne peut pas être autorisé à accéder aux données de chaque URL, il faudrait principalement une authentification. Pour réaliser cette authentification, on fournit généralement des données d'authentification via l'en-tête d'autorisation ou un en-tête personnalisé défini par le serveur.

où se trouve la touche Insérer sur le clavier d'un ordinateur portable

Exemple -

Python3




# import requests module> import> requests> from> requests.auth>import> HTTPBasicAuth> # Making a get request> response>=> requests.get(>' https://api.github.com / user, '>,> >auth>=> HTTPBasicAuth(>'user'>,>'pass'>))> # print request object> print>(response)>

>

>

Remplacez user et pass par votre nom d'utilisateur et votre mot de passe. Il authentifiera la demande et renverra une réponse 200 ou bien il renverra l'erreur 403.

authentifier-python-demandes

Pour plus de visite – Authentification à l'aide de requêtes Python

Vérification du certificat SSL

Requests vérifie les certificats SSL pour les requêtes HTTPS, tout comme un navigateur Web. Les certificats SSL sont de petits fichiers de données qui lient numériquement une clé cryptographique aux détails d'une organisation. Souvent, un site Web doté d’un certificat SSL est qualifié de site Web sécurisé. Par défaut, la vérification SSL est activée et les requêtes renvoient une erreur SSLError si elles ne parviennent pas à vérifier le certificat.

Désactiver la vérification du certificat SSL

Essayons d'accéder à un site Web avec un certificat SSL invalide, en utilisant des requêtes Python

Python3




# import requests module> import> requests> # Making a get request> response>=> requests.get(>' https://expired.badssl.com/ '>)> # print request object> print>(response)>

>

>

git paiement

Sortir :-

ssl-certificate-verification-python-requests

Ce site Web n'a pas de configuration SSL, il génère donc cette erreur. on peut également transmettre le lien vers le certificat pour validation via des requêtes python uniquement.

Python3




# import requests module> import> requests> # Making a get request> response>=> requests.get(>' https://github.com '>, verify>=>'/path/to/certfile'>)> # print request object> print>(response)>

>

>

Cela fonctionnerait si le chemin fourni est correct pour le certificat SSL pour github.com.

Pour plus de visite- Vérification du certificat SSL – Requêtes Python

Objets de session

L'objet Session permet de conserver certains paramètres entre les requêtes. Il conserve également les cookies dans toutes les requêtes effectuées à partir de l'instance de session et utilisera le pool de connexions d'urllib3. Ainsi, si plusieurs requêtes sont adressées au même hôte, la connexion TCP sous-jacente sera réutilisée, ce qui peut entraîner une augmentation significative des performances. Une session objet toutes les méthodes au fur et à mesure des requêtes.

Utilisation d'objets de session

Illustrons l'utilisation des objets de session en définissant un cookie sur une URL, puis en effectuant à nouveau une demande pour vérifier si le cookie est défini.

Python3




# import requests module> import> requests> > # create a session object> s>=> requests.Session()> > # make a get request> s.get(>' https://httpbin.org/cookies/set/sessioncookie/123456789 '>)> > # again make a get request> r>=> s.get(>' https://httpbin.org/cookies '>)> > # check if cookie is still set> print>(r.text)>

>

zone de liste HTML

>

Sortir:

objets-de-session-python-requêtes

Pour en savoir plus, visitez – Objets de session – Requêtes Python

Conclusion

Python Request Library est un outil puissant pour effectuer des requêtes HTTP et interagir avec les API Web. Dans ce didacticiel, nous avons couvert les bases de l'envoi de requêtes GET et POST, de la gestion des paramètres et des en-têtes et de la gestion des données de réponse. La simplicité et la conception intuitive de la bibliothèque la rendent accessible aussi bien aux développeurs débutants qu’expérimentés.