requests — HTTP-klient

Modulen requests tillhandahåller ett minimalt HTTP/HTTPS-klient-API som liknar biblioteket Python requests. Varje förfrågningsfunktion returnerar ett requests.Response-objekt.

Exempel:

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-klass

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

Representerar ett HTTP-svar. Instanser returneras av requests.request och hjälpmetoderna per metod.

status_code: int

HTTP-statuskoden som heltal som returneras av servern.

reason: str

Orsaksfras som returneras av servern (avkodad str).

encoding: str

Strängkodning som används för att avkoda requests.Response.headers och requests.Response.content. Standardvärdet är "utf-8".

headers: str

Svarsrubriker avkodade med requests.Response.encoding och returnerade som en str.

content: str

Svarskropp avkodad med requests.Response.encoding och returnerad som en str.

json() dict

Tolka requests.Response.content som JSON och returnera det resulterande objektet.

Funktioner

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

Skicka en HTTP-förfrågan till url och returnera ett requests.Response.

  • method — HTTP-metod som en str (t.ex. "GET", "POST").

  • url — Mål-URL. Måste börja med http:// eller https://.

  • data — Rå förfrågningskropp. Om den sätts läggs Content-Length till automatiskt.

  • json — Objekt serialiserat till JSON och skickat som kropp. Sätter Content-Type: application/json.

  • files — Ordbok som mappar fältnamn till en tupel (filename, fileobj). Skickas som multipart/form-data.

  • headers — Ordbok med ytterligare förfrågningsrubriker.

  • auth — Tupel (username, password) för HTTP Basic-autentisering.

  • stream — Accepteras för API-kompatibilitet; används inte.

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

Skicka en HTTP-HEAD-förfrågan och returnera ett Response.

HEAD är identisk med GET förutom att servern endast svarar med statusraden och rubrikerna; kroppen är tom. Använd den för att kontrollera om en resurs finns, inspektera Content-Length / Content-Type utan att ladda ner nyttolasten, eller sondera en URL innan en tyngre GET skickas.

Argument:

  • url – mål-URL; måste börja med http:// eller https://.

  • headers (kwarg) – ordbok med ytterligare förfrågningsrubriker.

  • auth (kwarg) – tupel (username, password) för HTTP Basic-autentisering.

data / json / files / stream från request() accepteras för fullständighet men är sällan meningsfulla för HEAD.

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

Skicka en HTTP-GET-förfrågan och returnera ett Response.

GET är det vanliga verbet för att hämta en representation av resursen som identifieras av url. Det är säkert (orsakar ingen tillståndsändring på serversidan) och idempotent.

Argument:

  • url – mål-URL; måste börja med http:// eller https://.

  • headers (kwarg) – ordbok med ytterligare förfrågningsrubriker (till exempel Authorization eller Accept).

  • auth (kwarg) – tupel (username, password) för HTTP Basic-autentisering.

En förfrågningskropp via data / json tillåts av den underliggande request() men ignoreras av de flesta servrar.

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

Skicka en HTTP-POST-förfrågan och returnera ett Response.

POST skickar data till url, vanligtvis för att skapa en ny underordnad resurs, utlösa en formulärinlämning eller anropa en åtgärd. Det är varken säkert eller idempotent: upprepade anrop kan skapa dubbla resurser.

Argument:

  • url – mål-URL; måste börja med http:// eller https://.

  • data (kwarg) – rå förfrågningskropp (bytes-liknande). Skickar en Content-Length-rubrik automatiskt.

  • json (kwarg) – objekt serialiserat till JSON och skickat som kropp. Sätter Content-Type: application/json.

  • files (kwarg) – ordbok som mappar ett fältnamn till (filename, fileobj). Skickas som multipart/form-data.

  • headers (kwarg) – ordbok med ytterligare förfrågningsrubriker.

  • auth (kwarg) – tupel (username, password) för HTTP Basic-autentisering.

Skicka högst ett av data / json / files.

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

Skicka en HTTP-PUT-förfrågan och returnera ett Response.

PUT ersätter resursen vid url med den angivna representationen och skapar den om den inte finns. Det är idempotent: att upprepa en identisk PUT ger samma sluttillstånd.

Argument:

  • url – mål-URL; måste börja med http:// eller https://.

  • data (kwarg) – rå ersättningskropp (bytes-liknande).

  • json (kwarg) – objekt serialiserat till JSON och skickat som ersättningskropp. Sätter Content-Type: application/json.

  • headers (kwarg) – ordbok med ytterligare förfrågningsrubriker.

  • auth (kwarg) – tupel (username, password) för HTTP Basic-autentisering.

Skicka antingen data eller json för att bära den nya representationen.

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

Skicka en HTTP-PATCH-förfrågan och returnera ett Response.

PATCH tillämpar en partiell ändring på resursen vid url – endast de fält som finns i förfrågningskroppen ändras. Till skillnad från PUT krävs det inte att den är idempotent (även om många API:er gör den så).

Argument:

  • url – mål-URL; måste börja med http:// eller https://.

  • data (kwarg) – rå deltakropp (bytes-liknande). Formatet beror på servern (t.ex. JSON Patch, JSON Merge Patch).

  • json (kwarg) – deltaobjekt serialiserat till JSON. Sätter Content-Type: application/json.

  • headers (kwarg) – ordbok med ytterligare förfrågningsrubriker.

  • auth (kwarg) – tupel (username, password) för HTTP Basic-autentisering.

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

Skicka en HTTP-DELETE-förfrågan och returnera ett Response.

DELETE begär borttagning av resursen vid url. Det är idempotent: att ta bort en redan borttagen resurs är inte ett fel (servern returnerar vanligtvis en 404, men sluttillståndet är detsamma).

Argument:

  • url – mål-URL; måste börja med http:// eller https://.

  • headers (kwarg) – ordbok med ytterligare förfrågningsrubriker.

  • auth (kwarg) – tupel (username, password) för HTTP Basic-autentisering.

En kropp via data / json tillåts av den underliggande request() men används sällan med DELETE.