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.requestoch hjälpmetoderna per metod.- encoding: str¶
Strängkodning som används för att avkoda
requests.Response.headersochrequests.Response.content. Standardvärdet är"utf-8".
- headers: str¶
Svarsrubriker avkodade med
requests.Response.encodingoch returnerade som enstr.
- content: str¶
Svarskropp avkodad med
requests.Response.encodingoch returnerad som enstr.
- json() dict¶
Tolka
requests.Response.contentsom 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
urloch returnera ettrequests.Response.method— HTTP-metod som enstr(t.ex."GET","POST").url— Mål-URL. Måste börja medhttp://ellerhttps://.data— Rå förfrågningskropp. Om den sätts läggsContent-Lengthtill automatiskt.json— Objekt serialiserat till JSON och skickat som kropp. SätterContent-Type: application/json.files— Ordbok som mappar fältnamn till en tupel(filename, fileobj). Skickas sommultipart/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 ettResponse.HEADär identisk medGETförutom att servern endast svarar med statusraden och rubrikerna; kroppen är tom. Använd den för att kontrollera om en resurs finns, inspekteraContent-Length/Content-Typeutan att ladda ner nyttolasten, eller sondera en URL innan en tyngreGETskickas.Argument:
url– mål-URL; måste börja medhttp://ellerhttps://.headers(kwarg) – ordbok med ytterligare förfrågningsrubriker.auth(kwarg) – tupel(username, password)för HTTP Basic-autentisering.
data/json/files/streamfrånrequest()accepteras för fullständighet men är sällan meningsfulla förHEAD.
- requests.get(url: str, **kw: Any) Response¶
Skicka en HTTP-
GET-förfrågan och returnera ettResponse.GETär det vanliga verbet för att hämta en representation av resursen som identifieras avurl. Det är säkert (orsakar ingen tillståndsändring på serversidan) och idempotent.Argument:
url– mål-URL; måste börja medhttp://ellerhttps://.headers(kwarg) – ordbok med ytterligare förfrågningsrubriker (till exempelAuthorizationellerAccept).auth(kwarg) – tupel(username, password)för HTTP Basic-autentisering.
En förfrågningskropp via
data/jsontillåts av den underligganderequest()men ignoreras av de flesta servrar.
- requests.post(url: str, **kw: Any) Response¶
Skicka en HTTP-
POST-förfrågan och returnera ettResponse.POSTskickar data tillurl, 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 medhttp://ellerhttps://.data(kwarg) – rå förfrågningskropp (bytes-liknande). Skickar enContent-Length-rubrik automatiskt.json(kwarg) – objekt serialiserat till JSON och skickat som kropp. SätterContent-Type: application/json.files(kwarg) – ordbok som mappar ett fältnamn till(filename, fileobj). Skickas sommultipart/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 ettResponse.PUTersätter resursen vidurlmed den angivna representationen och skapar den om den inte finns. Det är idempotent: att upprepa en identiskPUTger samma sluttillstånd.Argument:
url– mål-URL; måste börja medhttp://ellerhttps://.data(kwarg) – rå ersättningskropp (bytes-liknande).json(kwarg) – objekt serialiserat till JSON och skickat som ersättningskropp. SätterContent-Type: application/json.headers(kwarg) – ordbok med ytterligare förfrågningsrubriker.auth(kwarg) – tupel(username, password)för HTTP Basic-autentisering.
Skicka antingen
dataellerjsonför att bära den nya representationen.
- requests.patch(url: str, **kw: Any) Response¶
Skicka en HTTP-
PATCH-förfrågan och returnera ettResponse.PATCHtillämpar en partiell ändring på resursen vidurl– endast de fält som finns i förfrågningskroppen ändras. Till skillnad frånPUTkrä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 medhttp://ellerhttps://.data(kwarg) – rå deltakropp (bytes-liknande). Formatet beror på servern (t.ex. JSON Patch, JSON Merge Patch).json(kwarg) – deltaobjekt serialiserat till JSON. SätterContent-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 ettResponse.DELETEbegär borttagning av resursen vidurl. 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 medhttp://ellerhttps://.headers(kwarg) – ordbok med ytterligare förfrågningsrubriker.auth(kwarg) – tupel(username, password)för HTTP Basic-autentisering.
En kropp via
data/jsontillåts av den underligganderequest()men används sällan medDELETE.