|
@@ -236,17 +236,10 @@ C'est ce que vous voyez quand vous faites "show source" |
|
|
|
|
|
|
|
|
Vous voyez parfois le code de retour (le plus connu étant 404) |
|
|
Vous voyez parfois le code de retour (le plus connu étant 404) |
|
|
|
|
|
|
|
|
# API Web et navigateurs |
|
|
|
|
|
|
|
|
|
|
|
Grosso modo, quand vous visitez une page, vous faites un GET, |
|
|
|
|
|
et quand vous remplissez un formulaire, vous faites un POST |
|
|
|
|
|
|
|
|
|
|
|
*C'est très simplifié* |
|
|
*C'est très simplifié* |
|
|
|
|
|
|
|
|
# Utiliser une API Web |
|
|
# Utiliser une API Web |
|
|
|
|
|
|
|
|
Grosso modo: |
|
|
|
|
|
|
|
|
|
|
|
* Lire les conditions d'utilisation (important!) |
|
|
* Lire les conditions d'utilisation (important!) |
|
|
* Regarder les URLs possibles et les paramètres attendus |
|
|
* Regarder les URLs possibles et les paramètres attendus |
|
|
* Faire quelque chose avec la réponse |
|
|
* Faire quelque chose avec la réponse |
|
@@ -256,7 +249,7 @@ Notez qu'on a *absolument* aucune connaissance du code qui tourne sur le serveur |
|
|
|
|
|
|
|
|
# JSON |
|
|
# JSON |
|
|
|
|
|
|
|
|
* Un format *texte*. |
|
|
|
|
|
|
|
|
* Un format *texte*. (Comme HTML) |
|
|
* *Très* utilisé justement pour échanger des données entre des machines différentes. |
|
|
* *Très* utilisé justement pour échanger des données entre des machines différentes. |
|
|
* Implémenté dans plein de langages. |
|
|
* Implémenté dans plein de langages. |
|
|
|
|
|
|
|
@@ -340,3 +333,34 @@ None | null |
|
|
* Le nettoyer en introduisant des classes |
|
|
* Le nettoyer en introduisant des classes |
|
|
* Le rendre plus flexible |
|
|
* Le rendre plus flexible |
|
|
* Etc ... |
|
|
* Etc ... |
|
|
|
|
|
|
|
|
|
|
|
# Requests |
|
|
|
|
|
|
|
|
|
|
|
*La* librarie pour faire des requêtes HTTP en Python. |
|
|
|
|
|
|
|
|
|
|
|
Malheureusement pas dans la librarie standard. |
|
|
|
|
|
|
|
|
|
|
|
```python |
|
|
|
|
|
import requests |
|
|
|
|
|
|
|
|
|
|
|
>>> response = request.get(url) |
|
|
|
|
|
>>> response.status_code |
|
|
|
|
|
200 # si tout va bien |
|
|
|
|
|
>>> response.text |
|
|
|
|
|
"<!DOCTYPE html ..."> # le texte de la réponse |
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
# Requests + JSON |
|
|
|
|
|
|
|
|
|
|
|
```python |
|
|
|
|
|
>>> response = requests.get(url) |
|
|
|
|
|
>>> text = response.text |
|
|
|
|
|
>>> data = json.loads(text) |
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
Ou directement |
|
|
|
|
|
|
|
|
|
|
|
```python |
|
|
|
|
|
>>> response = requests.get(url) |
|
|
|
|
|
>>> data = response.json() |
|
|
|
|
|
``` |