requests — HTTP-client

De requests module biedt een minimale HTTP/HTTPS-client-API vergelijkbaar met de Python requests bibliotheek. Elke request-functie retourneert een requests.Response object.

Voorbeeld:

import requests

# GET a JSON resource.
r = requests.get("https://httpbin.org/get")
print(r.status_code, r.reason)
print(r.json())

# POST JSON.
r = requests.post(
    "https://httpbin.org/post",
    json={"id": 1, "value": 42},
    headers={"X-Source": "openmv"},
)
print(r.json())

Response-klasse

class requests.Response(code: int, reason: str, headers: bytes = None, content: bytes = None)

Vertegenwoordigt een HTTP-respons. Instanties worden geretourneerd door requests.request en de helpers per methode.

status_code: int

Geheel getal van de HTTP-statuscode die door de server wordt geretourneerd.

reason: str

Redenuitdrukking die door de server wordt geretourneerd (gedecodeerde str).

encoding: str

String-codering die wordt gebruikt om requests.Response.headers en requests.Response.content te decoderen. Standaard "utf-8".

headers: str

Responsheaders gedecodeerd met requests.Response.encoding en geretourneerd als een str.

content: str

Responsbody gedecodeerd met requests.Response.encoding en geretourneerd als een str.

json() dict

Parseert requests.Response.content als JSON en retourneert het resulterende object.

Functies

requests.request(method: str, url: str, data: bytes | None = None, json: Any | None = None, files: dict | None = None, headers: dict = {}, auth: tuple | None = None, stream: Any | None = None) Response

Stuurt een HTTP-request naar url en retourneert een requests.Response.

  • method — HTTP-methode als een str (bijv. "GET", "POST").

  • url — Doel-URL. Moet beginnen met http:// of https://.

  • data — Ruwe request-body. Indien ingesteld wordt Content-Length automatisch toegevoegd.

  • json — Object dat naar JSON wordt geserialiseerd en als body wordt verzonden. Stelt Content-Type: application/json in.

  • files — Dict die een veldnaam toewijst aan een (filename, fileobj) tuple. Verzonden als multipart/form-data.

  • headers — Dict met aanvullende request-headers.

  • auth(username, password) tuple voor HTTP Basic-authenticatie.

  • stream — Geaccepteerd voor API-compatibiliteit; niet gebruikt.

requests.head(url: str, **kw: Any) Response

Stuurt een HTTP HEAD request en retourneert een Response.

HEAD is identiek aan GET behalve dat de server alleen met de statusregel en headers antwoordt; de body is leeg. Gebruik het om te controleren of een bron bestaat, om Content-Length / Content-Type te inspecteren zonder de payload te downloaden, of om een URL te peilen voordat je een zwaardere GET uitvoert.

Argumenten:

  • url – doel-URL; moet beginnen met http:// of https://.

  • headers (kwarg) – dict met aanvullende request-headers.

  • auth (kwarg) – (username, password) tuple voor HTTP Basic-authenticatie.

data / json / files / stream van request() worden voor de volledigheid geaccepteerd, maar zijn zelden zinvol voor HEAD.

requests.get(url: str, **kw: Any) Response

Stuurt een HTTP GET request en retourneert een Response.

GET is het standaardwerkwoord voor het ophalen van een representatie van de bron die door url wordt geïdentificeerd. Het is veilig (veroorzaakt geen statuswijziging aan de serverzijde) en idempotent.

Argumenten:

  • url – doel-URL; moet beginnen met http:// of https://.

  • headers (kwarg) – dict met aanvullende request-headers (bijvoorbeeld Authorization of Accept).

  • auth (kwarg) – (username, password) tuple voor HTTP Basic-authenticatie.

Een request-body via data / json is toegestaan door de onderliggende request(), maar wordt door de meeste servers genegeerd.

requests.post(url: str, **kw: Any) Response

Stuurt een HTTP POST request en retourneert een Response.

POST verzendt gegevens naar url, doorgaans om een nieuwe ondergeschikte bron aan te maken, een formulierinzending te activeren of een actie aan te roepen. Het is noch veilig noch idempotent: herhaalde aanroepen kunnen dubbele bronnen aanmaken.

Argumenten:

  • url – doel-URL; moet beginnen met http:// of https://.

  • data (kwarg) – ruwe request-body (bytes-achtig). Verzendt automatisch een Content-Length header.

  • json (kwarg) – object dat naar JSON wordt geserialiseerd en als body wordt verzonden. Stelt Content-Type: application/json in.

  • files (kwarg) – dict die een veldnaam toewijst aan (filename, fileobj). Verzonden als multipart/form-data.

  • headers (kwarg) – dict met aanvullende request-headers.

  • auth (kwarg) – (username, password) tuple voor HTTP Basic-authenticatie.

Geef ten hoogste één van data / json / files door.

requests.put(url: str, **kw: Any) Response

Stuurt een HTTP PUT request en retourneert een Response.

PUT vervangt de bron op url door de meegeleverde representatie, en maakt deze aan als hij nog niet bestaat. Het is idempotent: het herhalen van een identieke PUT levert dezelfde eindtoestand op.

Argumenten:

  • url – doel-URL; moet beginnen met http:// of https://.

  • data (kwarg) – ruwe vervangingsbody (bytes-achtig).

  • json (kwarg) – object dat naar JSON wordt geserialiseerd en als vervangingsbody wordt verzonden. Stelt Content-Type: application/json in.

  • headers (kwarg) – dict met aanvullende request-headers.

  • auth (kwarg) – (username, password) tuple voor HTTP Basic-authenticatie.

Geef ofwel data of json door om de nieuwe representatie te dragen.

requests.patch(url: str, **kw: Any) Response

Stuurt een HTTP PATCH request en retourneert een Response.

PATCH past een gedeeltelijke wijziging toe op de bron op url – alleen de velden die in de request-body staan veranderen. In tegenstelling tot PUT hoeft het niet idempotent te zijn (hoewel veel API’s het wel zo maken).

Argumenten:

  • url – doel-URL; moet beginnen met http:// of https://.

  • data (kwarg) – ruwe delta-body (bytes-achtig). Het formaat hangt af van de server (bijv. JSON Patch, JSON Merge Patch).

  • json (kwarg) – delta-object dat naar JSON wordt geserialiseerd. Stelt Content-Type: application/json in.

  • headers (kwarg) – dict met aanvullende request-headers.

  • auth (kwarg) – (username, password) tuple voor HTTP Basic-authenticatie.

requests.delete(url: str, **kw: Any) Response

Stuurt een HTTP DELETE request en retourneert een Response.

DELETE vraagt om verwijdering van de bron op url. Het is idempotent: het verwijderen van een reeds verwijderde bron is geen fout (de server retourneert doorgaans een 404, maar de eindtoestand is hetzelfde).

Argumenten:

  • url – doel-URL; moet beginnen met http:// of https://.

  • headers (kwarg) – dict met aanvullende request-headers.

  • auth (kwarg) – (username, password) tuple voor HTTP Basic-authenticatie.

Een body via data / json is toegestaan door de onderliggende request(), maar wordt zelden gebruikt met DELETE.