Les requêtes AJAX peuvent être facilement réalisées grâce à la bibliothèque Requests pour Python.
from requests import Session
response = Session().post(
url='https://postman-echo.com/post',
data={ 'cle1': "valeur1", 'cle2': "valeur2" }
)
print (response.text)
Pour faire une requête AJAX en Python, vous pouvez utiliser des bibliothèques telles que Requests, http.client ou AIOHTTP
AJAX (Asynchronous JavaScript and XML) est généralement utilisé dans le contexte du développement web côté client avec JavaScript pour interagir de manière asynchrone avec un serveur. Cependant, en Python, vous pouvez faire des requêtes HTTP asynchrones ou synchrones vers des API ou des serveurs web.
Voici un exemple simple utilisant la bibliothèque requests
pour effectuer une requête HTTP en Python :
Si vous n'avez pas déjà installé la bibliothèque requests
, vous pouvez l'installer via pip :
pip install requests
import requests
# URL de l'API ou du serveur web
url = "https://jsonplaceholder.typicode.com/todos/1"
# Faire une requête GET
response = requests.get(url)
# Vérifier le statut de la réponse
if response.status_code == 200:
# Traiter la réponse JSON
data = response.json()
print(data)
else:
print(f"Erreur : {response.status_code}")
La réponse attendue est au format JSON converti en dictionnnaire :
{'userId': 1, 'id': 1, 'title': 'delectus aut autem', 'completed': False}
import requests
# URL de l'API ou du serveur web
url = "https://jsonplaceholder.typicode.com/posts"
# Données à envoyer dans la requête POST
data = {
"title": "foo",
"body": "bar",
"userId": 1
}
# Faire une requête POST
response = requests.post(url, json=data)
# Vérifier le statut de la réponse
if response.status_code == 201:
# Traiter la réponse JSON
response_data = response.json()
print(response_data)
else:
print(f"Erreur : {response.status_code}")
Comme précédemment, la réponse attendue est au format JSON converti en dictionnnaire :
{'title': 'foo', 'body': 'bar', 'userId': 1, 'id': 101}
Pour des requêtes asynchrones, vous pouvez utiliser la bibliothèque aiohttp
.
pip install aiohttp
import aiohttp
import asyncio
async def fetch(url):
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
if response.status == 200:
data = await response.json()
print(data)
else:
print(f"Erreur : {response.status}")
# URL de l'API ou du serveur web
url = "https://jsonplaceholder.typicode.com/todos/1"
# Lancer l'événement asyncio
asyncio.run(fetch(url))
import aiohttp
import asyncio
async def post_data(url, data):
async with aiohttp.ClientSession() as session:
async with session.post(url, json=data) as response:
if response.status == 201:
response_data = await response.json()
print(response_data)
else:
print(f"Erreur : {response.status}")
# URL de l'API ou du serveur web
url = "https://jsonplaceholder.typicode.com/posts"
# Données à envoyer dans la requête POST
data = {
"title": "foo",
"body": "bar",
"userId": 1
}
# Lancer l'événement asyncio
asyncio.run(post_data(url, data))
Ces exemples montrent comment faire des requêtes HTTP synchrones et asynchrones en Python en utilisant requests
et aiohttp
respectivement.