Maison  >  Article  >  développement back-end  >  Programmation serveur Python : utiliser la bibliothèque Requests pour lancer des requêtes HTTP

Programmation serveur Python : utiliser la bibliothèque Requests pour lancer des requêtes HTTP

王林
王林original
2023-06-18 13:22:351426parcourir

Python a toujours été un langage de programmation très populaire, notamment dans le domaine de la programmation serveur. La bibliothèque Requests de Python est une bibliothèque très populaire qui fournit une API pratique pour lancer des requêtes HTTP dans les programmes Python. Cet article explique comment utiliser la bibliothèque Requests pour lancer des requêtes HTTP.

1. Introduction à la bibliothèque Requests

La bibliothèque Requests est une bibliothèque client HTTP en Python. Elle simplifie le processus de requête HTTP et permet aux développeurs d'interagir plus facilement avec le réseau. .pour interagir. La bibliothèque Requests facilite l'exécution de requêtes HTTP et gère également les réponses HTTP. La bibliothèque Requests présente les caractéristiques suivantes :

  • La bibliothèque Requests est une bibliothèque fournie avec Python et ne nécessite pas d'installation supplémentaire
  • Requests prend en charge diverses méthodes de requête HTTP , y compris GET , POST, PUT, DELETE, etc.
  • Requests prend en charge divers mécanismes d'authentification et de chiffrement de HTTP
  • Requests prend en charge divers formats d'analyse de réponse HTTP, notamment JSON, XML, etc.#🎜 🎜#
2. Lancer une requête GET

Avant d'utiliser la bibliothèque Requests pour lancer une requête HTTP, nous devons d'abord importer la bibliothèque Requests. Voici un exemple d'utilisation de la bibliothèque Requests pour lancer une requête GET :

import requests

url = 'http://example.com'
response = requests.get(url)

print(response.status_code)
print(response.content)

Dans cet exemple, nous avons d'abord importé la bibliothèque Requests, puis défini une variable url, qui stocke l'URL que nous souhaitons visite. Ensuite, nous utilisons la méthode get() pour lancer une requête GET et stocker le résultat de la réponse dans la variable de réponse. Enfin, nous imprimons le code d'état de la réponse et le contenu de la réponse.

3. Initier la requête POST

En plus des requêtes GET, la bibliothèque Requests prend également en charge les requêtes POST. Les requêtes POST sont généralement utilisées pour soumettre des données au serveur. Voici un exemple d'utilisation de la bibliothèque Requests pour lancer une requête POST :

import requests

url = 'http://example.com/login'
data = {
    'username': 'username',
    'password': 'password',
}
response = requests.post(url, data=data)

print(response.status_code)
print(response.content)

Dans cet exemple, nous définissons d'abord une variable url, qui stocke l'URL de la page de connexion à laquelle nous souhaitons accéder. Ensuite, nous définissons une variable de données qui stocke les données que nous souhaitons soumettre au serveur. Ensuite, nous utilisons la méthode post() pour lancer une requête POST et stocker les résultats de la réponse dans la variable de réponse. Enfin, nous imprimons le code d'état de la réponse et le contenu de la réponse.

4. Définir les en-têtes de requête

Parfois, lors de l'envoi d'une requête HTTP au serveur, nous devons définir l'en-tête de la requête. L'en-tête de la requête contient toutes les informations que nous envoyons au serveur dans la requête, y compris la méthode de requête, le chemin de la requête, les paramètres de la requête, le type de contenu demandé, le cookie demandé, etc. La bibliothèque Requests fournit de nombreuses méthodes pour définir les en-têtes de requête. Voici un exemple d'utilisation de la bibliothèque Requests pour définir les en-têtes de requête :

import requests

url = 'http://example.com'
headers = {
    'Content-type': 'application/json',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'
}
response = requests.get(url, headers=headers)

print(response.status_code)
print(response.content)

Dans cet exemple, nous définissons d'abord une variable url, qui stocke l'URL que nous souhaitons visiter. Ensuite, nous définissons une variable d'en-têtes, qui stocke les informations d'en-tête de requête que nous souhaitons définir. Enfin, nous utilisons la méthode get() pour lancer une requête GET et stocker le résultat de la réponse dans la variable de réponse. Enfin, nous imprimons le code d'état de la réponse et le contenu de la réponse.

5. Traitement des réponses HTTP

La bibliothèque Requests prend en charge l'analyse des réponses HTTP dans divers protocoles et encodages, tels que JSON, XML, HTML, etc. Nous pouvons choisir différentes méthodes d'analyse en fonction des besoins réels. Voici un exemple d'utilisation de la bibliothèque Requests pour analyser une réponse au format JSON :

import requests

url = 'https://api.github.com/users/octocat/repos'
response = requests.get(url)

repos = response.json()

for repo in repos:
    print(repo['name'])

Dans cet exemple, nous définissons d'abord une variable url, qui stocke l'URL que nous souhaitons visiter. Ensuite, nous utilisons la méthode get() pour lancer une requête GET et stocker le résultat de la réponse dans la variable de réponse. Enfin, nous utilisons la méthode json() pour formater le contenu de la réponse au format JSON, et utilisons une boucle for pour parcourir chaque objet du dépôt et imprimer le nom du dépôt.

6. Authentification HTTP

Si l'URL consultée nécessite une authentification HTTP, nous devons alors ajouter des informations d'authentification dans l'en-tête de la demande. La bibliothèque Requests fournit de nombreuses méthodes pour gérer l'authentification HTTP, telles que HTTPBasicAuth et HTTPDigestAuth. Voici un exemple d'utilisation de la bibliothèque Requests pour l'authentification HTTP :

import requests
from requests.auth import HTTPBasicAuth

url = 'http://httpbin.org/basic-auth/user/passwd'
response = requests.get(url, auth=HTTPBasicAuth('user', 'passwd'))

print(response.status_code)
print(response.content)

Dans cet exemple, nous définissons d'abord une variable url, qui stocke l'URL avec les informations d'authentification HTTP auxquelles nous souhaitons accéder. Ensuite, nous utilisons la méthode get() pour lancer une requête GET et transmettre les informations d'authentification au paramètre auth. Enfin, nous imprimons le code d'état de la réponse et le contenu de la réponse. Si l'authentification échoue, une erreur 401 sera renvoyée.

7. HTTPS

Par défaut, la bibliothèque Requests vérifiera le certificat HTTPS. Si vous devez désactiver la vérification du certificat HTTPS, vous pouvez définir le paramètre verify sur False. Voici un exemple d'utilisation de la bibliothèque Requests pour désactiver la vérification du certificat HTTPS :

import requests

url = 'https://httpbin.org/get'
response = requests.get(url, verify=False)

print(response.status_code)
print(response.content)

Dans cet exemple, nous définissons d'abord une variable url qui stocke l'URL HTTPS à laquelle nous voulons accéder. Ensuite, nous utilisons la méthode get() pour lancer une requête GET et définissons le paramètre verify sur False pour désactiver la vérification du certificat HTTPS. Enfin, nous imprimons le code d'état de la réponse et le contenu de la réponse.

8. Résumé

Cet article présente comment utiliser la bibliothèque Requests pour lancer des requêtes HTTP. La bibliothèque Requests peut facilement lancer des requêtes HTTP et gérer les réponses HTTP. Elle prend également en charge divers mécanismes d'authentification et de chiffrement HTTP, ce qui la rend très adaptée à la programmation de serveur Python. Si vous souhaitez en savoir plus sur la bibliothèque Requests, veuillez consulter la documentation officielle de la bibliothèque Requests.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn