- Qu'est-ce que les requêtes Python?
- Pourquoi utiliser les requêtes Python?
- Comment installer les requêtes Python?
- Faire des demandes d'obtention et de publication
- Passer des paramètres dans l'URL
- Code d'état
- Contenu de la réponse
- Téléchargement de fichiers en plusieurs parties
- Cookies et en-têtes
- Objet de session
- Erreurs et exceptions
Qu'est-ce que les requêtes Python?
Les requêtes Python ont été écrites par Kenneth Reitz et licenciées sous Apache 2.0. Il s'agit d'une bibliothèque HTTP conviviale, comme mentionné sur la page de documentation officielle. Il est facile à utiliser et essentiellement utilisé pour faire toutes sortes de requêtes HTTP. Voici quelques fonctionnalités avancées fournies par les demandes:- Restez en vie et regroupez les connexions
- Domaines et URL internationaux
- Sessions avec persistance des cookies
- Vérification SSL de type navigateur
- Décodage automatique du contenu
- Authentification de base / condensée
- Cookies clé / valeur élégants
- Décompression automatique
- Corps de réponse Unicode
- Prise en charge du proxy HTTP
- Importations de fichiers en plusieurs parties
- Téléchargements en streaming
- Délais de connexion
- Demandes fragmentées
Pourquoi utiliser les requêtes Python?
Quand il s'agit de savoir pourquoi utilisons-nous des requêtes python? La raison est assez simple. Lorsque vous utilisez des requêtes Python, vous n'avez pas à ajouter manuellement les requêtes à vos URL et à encoder les données de publication. Cela facilite notre travail lors de la création de requêtes http de toute nature.Maintenant que nous sommes familiarisés avec les requêtes python et pourquoi nous les utilisons en python, essayons de comprendre comment allons-nous installer les requêtes sur notre projet ou système.Comment installer les requêtes Python?
La partie installation est également très simple. Si l'installation de pipenv est installée sur votre système, vous pouvez simplement exécuter la commande suivante dans le terminal.Demandes d'installation $ pip
Cela installera la bibliothèque de requêtes sur votre système. Il existe une autre approche pour installer les demandes. Si vous utilisez pycharm, vous pouvez ajouter des requêtes sur l'interpréteur de projet dans les paramètres. Il sert le même objectif que le terminal en cas d'installation de la bibliothèque sur notre projet.Maintenant que nous en avons terminé avec l'installation, essayons de comprendre comment nous allons faire des requêtes get et post en python.Comment faire des demandes d'obtention et de publication?
Get request est essentiellement utilisé pour demander les données au serveur. Voici la syntaxe pour effectuer une requête get.import requests res = requests.get ('url') #res est l'objet de réponse ici.La demande de publication est utilisée pour soumettre les données à traiter au serveur. Voici la syntaxe pour faire une demande de publication.
import requests payload = {'key1': 'value1'} res = requests.post ('url', data = payload)Maintenant que nous savons comment nous pouvons faire des requêtes get et post, voyons comment nous pouvons passer des paramètres à l'url en utilisant la requête get.
Passer des paramètres dans une URL
Passer des paramètres dans une URL est aussi simple que de faire une requête get. Voici un exemple pour passer des paramètres à url.import requests payload = {'key1': 'value1', 'key2': 'value2'} res = requests.get ('url', params = payload) print (res.url) # cela affichera l'URL avec les paramètres passé par la demande get.
Code d'état
Nous pouvons également vérifier le code d'état, voici le code pour vérifier le code d'état:
demandes d'importation res = requests.get ('url') print (res.status_code ())Si le code renvoie 200, cela signifie qu'il n'y a pas d'erreur et que la demande va bien. Si nous faisons une mauvaise demande, le code renverra un code comme 404 ou 505 qui provoquera une erreur http.
Contenu de la réponse
Nous pouvons également lire le contenu de la réponse du serveur. La bibliothèque décodera automatiquement le contenu du serveur.demandes d'importation res = requests.get ('url') print (res.content)
Requests a également un décodeur json intégré.
import requests res = requests.get ('url') print (res.json ()) # cela obtiendra la réponse au format json
Téléchargement de fichiers en plusieurs parties
Il est très facile de télécharger des fichiers en plusieurs parties à l'aide de requêtes.import requests files = {'file': open ('filename', 'rb')} res = requests.post ('url', files = files) print (res.text)Pour envoyer plusieurs fichiers, nous spécifierons plusieurs fichiers dans le paramètre files.
Cookies et en-têtes
Nous pouvons afficher les en-têtes de réponse et les cookies du serveur à l’aide de l’objet de réponse. Voici le code pour afficher les en-têtes du serveur.demandes d'importation res = requests.get ('url') print (res.headers)Nous pouvons également transmettre des en-têtes personnalisés à l'URL. Jetons un coup d'œil au code.
import requests headers = {'key1': 'value1'} res = requests.get ('url', headers = headers) print (res.headers)Les requêtes ne modifient pas son comportement en fonction des en-têtes personnalisés. Ils sont simplement passés à la demande finale. biscuits peut également être visualisé à l'aide de l'objet de réponse.
import requests #pour transmettre nos propres cookies, nous pouvons utiliser le paramètre cookies cookies = dict (cookies = 'working') res = requests.get ('url', cookies = cookies) print (res.text)
Les cookies sont renvoyés dans un RequestCookieJar, qui agit comme un dictionnaire mais offre également une interface plus complète, adaptée à une utilisation sur plusieurs domaines ou chemins.
comment exécuter eclipse sur windows
Objet de session
L'objet session vous permet de conserver certains paramètres dans les requêtes.- Conserve les cookies dans toutes les demandes effectuées à partir de l'instance de session
- Utiliser le pool de connexions urllib3
- Augmentation significative des performances
- Un objet de session possède toutes les méthodes de l'API des requêtes principales
s = demandes.session () s.get ('url') res = s.get ('url') print (res.text)
Erreurs et exceptions
Voici les erreurs et exceptions qui sont déclenchées dans une requête python.- En cas de problème de réseau, les requêtes lèveront une exception ConnectionError.
- Response.raise_for_status () lèvera une erreur HTTP en cas d'échec du code d'état.
- S'il y a un délai d'expiration, il déclenchera une exception de délai d'expiration
- L'exception TooManyRedirects est déclenchée si la demande dépasse le nombre configuré de nombre maximal de redirections.