requests — HTTP klijent

Modul requests pruža minimalan HTTP/HTTPS klijentski API sličan biblioteci Python requests. Svaka funkcija zahtjeva vraća objekt requests.Response.

Primjer:

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())

Klasa Response

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

Predstavlja HTTP odgovor. Instance vraćaju requests.request i pomoćnici po metodama.

status_code: int

Cjelobrojni HTTP statusni kod koji vraća poslužitelj.

reason: str

Razlog (reason phrase) koji vraća poslužitelj (dekodirani str).

encoding: str

Kodiranje niza znakova koje se koristi za dekodiranje requests.Response.headers i requests.Response.content. Zadano je "utf-8".

headers: str

Zaglavlja odgovora dekodirana pomoću requests.Response.encoding i vraćena kao str.

content: str

Tijelo odgovora dekodirano pomoću requests.Response.encoding i vraćeno kao str.

json() dict

Parsira requests.Response.content kao JSON i vraća rezultirajući objekt.

Funkcije

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

Šalje HTTP zahtjev na url i vraća requests.Response.

  • method — HTTP metoda kao str (npr. "GET", "POST").

  • url — Ciljni URL. Mora započinjati s http:// ili https://.

  • data — Sirovo tijelo zahtjeva. Ako je postavljeno, Content-Length se dodaje automatski.

  • json — Objekt serijaliziran u JSON i poslan kao tijelo. Postavlja Content-Type: application/json.

  • files — Rječnik koji preslikava naziv polja u n-torku (filename, fileobj). Šalje se kao multipart/form-data.

  • headers — Rječnik dodatnih zaglavlja zahtjeva.

  • auth — n-torka (username, password) za HTTP Basic autentifikaciju.

  • stream — Prihvaća se radi kompatibilnosti API-ja; ne koristi se.

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

Šalje HTTP HEAD zahtjev i vraća Response.

HEAD je identičan GET-u osim što poslužitelj odgovara samo statusnim retkom i zaglavljima; tijelo je prazno. Koristite ga za provjeru postoji li resurs, pregled Content-Length / Content-Type bez preuzimanja korisnog tereta ili ispitivanje URL-a prije izdavanja težeg GET-a.

Argumenti:

  • url – ciljni URL; mora započinjati s http:// ili https://.

  • headers (kwarg) – rječnik dodatnih zaglavlja zahtjeva.

  • auth (kwarg) – n-torka (username, password) za HTTP Basic autentifikaciju.

data / json / files / stream iz request() prihvaćaju se radi potpunosti, ali rijetko imaju smisla za HEAD.

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

Šalje HTTP GET zahtjev i vraća Response.

GET je standardni glagol za dohvaćanje prikaza resursa identificiranog s url. Siguran je (ne uzrokuje promjenu stanja na strani poslužitelja) i idempotentan.

Argumenti:

  • url – ciljni URL; mora započinjati s http:// ili https://.

  • headers (kwarg) – rječnik dodatnih zaglavlja zahtjeva (na primjer Authorization ili Accept).

  • auth (kwarg) – n-torka (username, password) za HTTP Basic autentifikaciju.

Tijelo zahtjeva putem data / json dopušta temeljni request(), ali ga većina poslužitelja zanemaruje.

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

Šalje HTTP POST zahtjev i vraća Response.

POST šalje podatke na url, obično stvarajući novi podređeni resurs, pokrećući slanje obrasca ili pozivajući akciju. Nije ni siguran ni idempotentan: ponovljeni pozivi mogu stvoriti duplicirane resurse.

Argumenti:

  • url – ciljni URL; mora započinjati s http:// ili https://.

  • data (kwarg) – sirovo tijelo zahtjeva (bytes-sličan). Automatski šalje zaglavlje Content-Length.

  • json (kwarg) – objekt serijaliziran u JSON i poslan kao tijelo. Postavlja Content-Type: application/json.

  • files (kwarg) – rječnik koji preslikava naziv polja u (filename, fileobj). Šalje se kao multipart/form-data.

  • headers (kwarg) – rječnik dodatnih zaglavlja zahtjeva.

  • auth (kwarg) – n-torka (username, password) za HTTP Basic autentifikaciju.

Proslijedite najviše jedan od data / json / files.

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

Šalje HTTP PUT zahtjev i vraća Response.

PUT zamjenjuje resurs na url isporučenim prikazom, stvarajući ga ako ne postoji. Idempotentan je: ponavljanje identičnog PUT-a daje isto konačno stanje.

Argumenti:

  • url – ciljni URL; mora započinjati s http:// ili https://.

  • data (kwarg) – sirovo zamjensko tijelo (bytes-sličan).

  • json (kwarg) – objekt serijaliziran u JSON i poslan kao zamjensko tijelo. Postavlja Content-Type: application/json.

  • headers (kwarg) – rječnik dodatnih zaglavlja zahtjeva.

  • auth (kwarg) – n-torka (username, password) za HTTP Basic autentifikaciju.

Proslijedite ili data ili json za prijenos novog prikaza.

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

Šalje HTTP PATCH zahtjev i vraća Response.

PATCH primjenjuje djelomičnu izmjenu na resurs na url – mijenjaju se samo polja sadržana u tijelu zahtjeva. Za razliku od PUT-a, nije obavezno idempotentan (iako ga mnogi API-ji takvim čine).

Argumenti:

  • url – ciljni URL; mora započinjati s http:// ili https://.

  • data (kwarg) – sirovo tijelo razlike (bytes-sličan). Format ovisi o poslužitelju (npr. JSON Patch, JSON Merge Patch).

  • json (kwarg) – objekt razlike serijaliziran u JSON. Postavlja Content-Type: application/json.

  • headers (kwarg) – rječnik dodatnih zaglavlja zahtjeva.

  • auth (kwarg) – n-torka (username, password) za HTTP Basic autentifikaciju.

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

Šalje HTTP DELETE zahtjev i vraća Response.

DELETE zahtijeva uklanjanje resursa na url. Idempotentan je: brisanje već izbrisanog resursa nije pogreška (poslužitelj obično vraća 404, ali konačno stanje je isto).

Argumenti:

  • url – ciljni URL; mora započinjati s http:// ili https://.

  • headers (kwarg) – rječnik dodatnih zaglavlja zahtjeva.

  • auth (kwarg) – n-torka (username, password) za HTTP Basic autentifikaciju.

Tijelo putem data / json dopušta temeljni request(), ali se rijetko koristi s DELETE-om.