python:http-request

Ceci est une ancienne révision du document !


Requêtes HTTP en Python

import urllib.request
import json
 
req = urllib.request.Request("https://adresse.com")
with urllib.request.urlopen(req) as f:
    response = f.read()
    data = json.loads(response.decode('utf-8'))
    print(data) # dictionnaire de la réponse JSON

Requête POST:

post_data = {
    "title": box['title'],
    "parent_folder": "-1"
}
# avec des données, la requête est automatiquement une POST
req = urllib.request.Request("https://url.com/form.php", urllib.parse.urlencode(post_data).encode('ascii'))
with urllib.request.urlopen(req) as f:
    response = f.read()

Avec une authentification basique:

import base64
 
credentials = {
    "Authorization": b'Basic ' + base64.b64encode("user:pass".encode())
}
 
req = urllib.request.Request("https://adresse.com", headers=credentials)
# ou
req = urllib.request.Request("https://url.com/form.php", urllib.parse.urlencode(post_data).encode('ascii'), credentials)

Source

urllib.parse.quote(url)

Avec Requests.

session = requests.Session()
session.headers['Accept'] = 'application/vnd.github.v3+json'
session.auth = ("user", "pass")
 
r = session.get(url)
 
if r.status_code != 200:
    print("Got HTTP response {}: {}".format(r.status_code, r.json()['message']))
else:
    print(r.json())
 
session.close()
  • python/http-request.1640726553.txt.gz
  • Dernière modification : 2021/12/28 22:22
  • de phsw