requests — HTTP-Client

Das Modul requests stellt eine minimale HTTP/HTTPS-Client-API bereit, die der Python requests-Bibliothek ähnelt. Jede Anfragefunktion gibt ein requests.Response-Objekt zurück.

Beispiel:

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)

Stellt eine HTTP-Antwort dar. Instanzen werden von requests.request und den Hilfsfunktionen pro Methode zurückgegeben.

status_code: int

Ganzzahliger HTTP-Statuscode, der vom Server zurückgegeben wird.

reason: str

Begründungstext, der vom Server zurückgegeben wird (decodiert als str).

encoding: str

Zeichenkodierung, die zum Decodieren von requests.Response.headers und requests.Response.content verwendet wird. Standardwert "utf-8".

headers: str

Antwort-Header, decodiert mit requests.Response.encoding und als str zurückgegeben.

content: str

Antwortkörper, decodiert mit requests.Response.encoding und als str zurückgegeben.

json() dict

Parst requests.Response.content als JSON und gibt das resultierende Objekt zurück.

Funktionen

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

Sendet eine HTTP-Anfrage an url und gibt ein requests.Response zurück.

  • method — HTTP-Methode als str (z. B. "GET", "POST").

  • url — Ziel-URL. Muss mit http:// oder https:// beginnen.

  • data — Roher Anfragekörper. Falls gesetzt, wird Content-Length automatisch hinzugefügt.

  • json — Objekt, das in JSON serialisiert und als Körper gesendet wird. Setzt Content-Type: application/json.

  • files — Dict, das einen Feldnamen auf ein (filename, fileobj)-Tupel abbildet. Wird als multipart/form-data gesendet.

  • headers — Dict mit zusätzlichen Anfrage-Headern.

  • auth(username, password)-Tupel für HTTP-Basic-Authentifizierung.

  • stream — Wird aus Gründen der API-Kompatibilität akzeptiert; nicht verwendet.

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

Sendet eine HTTP-HEAD-Anfrage und gibt ein Response zurück.

HEAD ist identisch mit GET, außer dass der Server nur mit der Statuszeile und den Headern antwortet; der Körper ist leer. Verwenden Sie es, um zu prüfen, ob eine Ressource existiert, Content-Length / Content-Type zu inspizieren, ohne die Nutzlast herunterzuladen, oder eine URL zu prüfen, bevor ein aufwendigeres GET ausgegeben wird.

Argumente:

  • url – Ziel-URL; muss mit http:// oder https:// beginnen.

  • headers (kwarg) – Dict mit zusätzlichen Anfrage-Headern.

  • auth (kwarg) – (username, password)-Tupel für HTTP-Basic-Authentifizierung.

data / json / files / stream aus request() werden der Vollständigkeit halber akzeptiert, ergeben aber selten Sinn für HEAD.

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

Sendet eine HTTP-GET-Anfrage und gibt ein Response zurück.

GET ist das Standardverb zum Abrufen einer Repräsentation der durch url identifizierten Ressource. Es ist sicher (verursacht keine serverseitige Zustandsänderung) und idempotent.

Argumente:

  • url – Ziel-URL; muss mit http:// oder https:// beginnen.

  • headers (kwarg) – Dict mit zusätzlichen Anfrage-Headern (zum Beispiel Authorization oder Accept).

  • auth (kwarg) – (username, password)-Tupel für HTTP-Basic-Authentifizierung.

Ein Anfragekörper über data / json ist durch das zugrunde liegende request() erlaubt, wird aber von den meisten Servern ignoriert.

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

Sendet eine HTTP-POST-Anfrage und gibt ein Response zurück.

POST übermittelt Daten an url, wobei typischerweise eine neue untergeordnete Ressource erstellt, ein Formular abgesendet oder eine Aktion ausgelöst wird. Es ist weder sicher noch idempotent: Wiederholte Aufrufe können doppelte Ressourcen erzeugen.

Argumente:

  • url – Ziel-URL; muss mit http:// oder https:// beginnen.

  • data (kwarg) – roher Anfragekörper (bytes-ähnlich). Sendet automatisch einen Content-Length-Header.

  • json (kwarg) – Objekt, das in JSON serialisiert und als Körper gesendet wird. Setzt Content-Type: application/json.

  • files (kwarg) – Dict, das einen Feldnamen auf (filename, fileobj) abbildet. Wird als multipart/form-data gesendet.

  • headers (kwarg) – Dict mit zusätzlichen Anfrage-Headern.

  • auth (kwarg) – (username, password)-Tupel für HTTP-Basic-Authentifizierung.

Übergeben Sie höchstens eines von data / json / files.

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

Sendet eine HTTP-PUT-Anfrage und gibt ein Response zurück.

PUT ersetzt die Ressource unter url durch die gelieferte Repräsentation und erstellt sie, falls sie nicht existiert. Es ist idempotent: Das Wiederholen eines identischen PUT führt zum gleichen Endzustand.

Argumente:

  • url – Ziel-URL; muss mit http:// oder https:// beginnen.

  • data (kwarg) – roher Ersatzkörper (bytes-ähnlich).

  • json (kwarg) – Objekt, das in JSON serialisiert und als Ersatzkörper gesendet wird. Setzt Content-Type: application/json.

  • headers (kwarg) – Dict mit zusätzlichen Anfrage-Headern.

  • auth (kwarg) – (username, password)-Tupel für HTTP-Basic-Authentifizierung.

Übergeben Sie entweder data oder json, um die neue Repräsentation zu übermitteln.

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

Sendet eine HTTP-PATCH-Anfrage und gibt ein Response zurück.

PATCH wendet eine partielle Änderung auf die Ressource unter url an – nur die im Anfragekörper enthaltenen Felder ändern sich. Anders als PUT muss es nicht idempotent sein (obwohl viele APIs es so gestalten).

Argumente:

  • url – Ziel-URL; muss mit http:// oder https:// beginnen.

  • data (kwarg) – roher Delta-Körper (bytes-ähnlich). Das Format hängt vom Server ab (z. B. JSON Patch, JSON Merge Patch).

  • json (kwarg) – Delta-Objekt, das in JSON serialisiert wird. Setzt Content-Type: application/json.

  • headers (kwarg) – Dict mit zusätzlichen Anfrage-Headern.

  • auth (kwarg) – (username, password)-Tupel für HTTP-Basic-Authentifizierung.

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

Sendet eine HTTP-DELETE-Anfrage und gibt ein Response zurück.

DELETE fordert die Entfernung der Ressource unter url an. Es ist idempotent: Das Löschen einer bereits gelöschten Ressource ist kein Fehler (der Server gibt typischerweise einen 404 zurück, aber der Endzustand ist derselbe).

Argumente:

  • url – Ziel-URL; muss mit http:// oder https:// beginnen.

  • headers (kwarg) – Dict mit zusätzlichen Anfrage-Headern.

  • auth (kwarg) – (username, password)-Tupel für HTTP-Basic-Authentifizierung.

Ein Körper über data / json ist durch das zugrunde liegende request() erlaubt, wird aber selten mit DELETE verwendet.