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.requestund den Hilfsfunktionen pro Methode zurückgegeben.- encoding: str¶
Zeichenkodierung, die zum Decodieren von
requests.Response.headersundrequests.Response.contentverwendet wird. Standardwert"utf-8".
- headers: str¶
Antwort-Header, decodiert mit
requests.Response.encodingund alsstrzurückgegeben.
- content: str¶
Antwortkörper, decodiert mit
requests.Response.encodingund alsstrzurückgegeben.
- json() dict¶
Parst
requests.Response.contentals 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
urlund gibt einrequests.Responsezurück.method— HTTP-Methode alsstr(z. B."GET","POST").url— Ziel-URL. Muss mithttp://oderhttps://beginnen.data— Roher Anfragekörper. Falls gesetzt, wirdContent-Lengthautomatisch hinzugefügt.json— Objekt, das in JSON serialisiert und als Körper gesendet wird. SetztContent-Type: application/json.files— Dict, das einen Feldnamen auf ein(filename, fileobj)-Tupel abbildet. Wird alsmultipart/form-datagesendet.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 einResponsezurück.HEADist identisch mitGET, 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-Typezu inspizieren, ohne die Nutzlast herunterzuladen, oder eine URL zu prüfen, bevor ein aufwendigeresGETausgegeben wird.Argumente:
url– Ziel-URL; muss mithttp://oderhttps://beginnen.headers(kwarg) – Dict mit zusätzlichen Anfrage-Headern.auth(kwarg) –(username, password)-Tupel für HTTP-Basic-Authentifizierung.
data/json/files/streamausrequest()werden der Vollständigkeit halber akzeptiert, ergeben aber selten Sinn fürHEAD.
- requests.get(url: str, **kw: Any) Response¶
Sendet eine HTTP-
GET-Anfrage und gibt einResponsezurück.GETist das Standardverb zum Abrufen einer Repräsentation der durchurlidentifizierten Ressource. Es ist sicher (verursacht keine serverseitige Zustandsänderung) und idempotent.Argumente:
url– Ziel-URL; muss mithttp://oderhttps://beginnen.headers(kwarg) – Dict mit zusätzlichen Anfrage-Headern (zum BeispielAuthorizationoderAccept).auth(kwarg) –(username, password)-Tupel für HTTP-Basic-Authentifizierung.
Ein Anfragekörper über
data/jsonist durch das zugrunde liegenderequest()erlaubt, wird aber von den meisten Servern ignoriert.
- requests.post(url: str, **kw: Any) Response¶
Sendet eine HTTP-
POST-Anfrage und gibt einResponsezurück.POSTübermittelt Daten anurl, 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 mithttp://oderhttps://beginnen.data(kwarg) – roher Anfragekörper (bytes-ähnlich). Sendet automatisch einenContent-Length-Header.json(kwarg) – Objekt, das in JSON serialisiert und als Körper gesendet wird. SetztContent-Type: application/json.files(kwarg) – Dict, das einen Feldnamen auf(filename, fileobj)abbildet. Wird alsmultipart/form-datagesendet.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 einResponsezurück.PUTersetzt die Ressource unterurldurch die gelieferte Repräsentation und erstellt sie, falls sie nicht existiert. Es ist idempotent: Das Wiederholen eines identischenPUTführt zum gleichen Endzustand.Argumente:
url– Ziel-URL; muss mithttp://oderhttps://beginnen.data(kwarg) – roher Ersatzkörper (bytes-ähnlich).json(kwarg) – Objekt, das in JSON serialisiert und als Ersatzkörper gesendet wird. SetztContent-Type: application/json.headers(kwarg) – Dict mit zusätzlichen Anfrage-Headern.auth(kwarg) –(username, password)-Tupel für HTTP-Basic-Authentifizierung.
Übergeben Sie entweder
dataoderjson, um die neue Repräsentation zu übermitteln.
- requests.patch(url: str, **kw: Any) Response¶
Sendet eine HTTP-
PATCH-Anfrage und gibt einResponsezurück.PATCHwendet eine partielle Änderung auf die Ressource unterurlan – nur die im Anfragekörper enthaltenen Felder ändern sich. Anders alsPUTmuss es nicht idempotent sein (obwohl viele APIs es so gestalten).Argumente:
url– Ziel-URL; muss mithttp://oderhttps://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. SetztContent-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 einResponsezurück.DELETEfordert die Entfernung der Ressource unterurlan. 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 mithttp://oderhttps://beginnen.headers(kwarg) – Dict mit zusätzlichen Anfrage-Headern.auth(kwarg) –(username, password)-Tupel für HTTP-Basic-Authentifizierung.
Ein Körper über
data/jsonist durch das zugrunde liegenderequest()erlaubt, wird aber selten mitDELETEverwendet.