Sdílet prostřednictvím


HttpRequest Třída

Představuje požadavek HTTP.

Adresu URL je možné zadat bez parametrů dotazu a přidat ji později pomocí format_parameters.

Dědičnost
builtins.object
HttpRequest

Konstruktor

HttpRequest(method: str, url: str, headers: Mapping[str, str] | None = None, files: Any | None = None, data: bytes | str | Dict[str, str | int] | None = None)

Parametry

method
str
Vyžadováno

Metoda HTTP (GET, HEAD atd.)

url
str
Vyžadováno

Alespoň úplné schéma, hostitel nebo cesta

headers
dict[str,str]
výchozí hodnota: None

Hlavičky HTTP

files
dict[str, tuple[str, IO, str, dict]] nebo dict[str, IO]
výchozí hodnota: None

Slovník ( 'name': file-like-objects nebo {'name': file-tuple}) pro nahrání vícedílného kódování. file-tuple Může to být řazená kolekce 2 členů ('filename', fileobj), 3 řazená kolekce členů ('filename', fileobj, 'content_type') nebo 4 řazená ('filename', fileobj, 'content_type', custom_headers)kolekce , kde 'content_type' je řetězec definující typ obsahu daného souboru a custom_headers objekt podobný diktování obsahující další hlavičky pro přidání souboru.

data
bytes nebo dict (<xref:for form>)
výchozí hodnota: None

Text, který se má odeslat.

Metody

format_parameters

Naformátovat parametry do platného řetězce dotazu. Předpokládá se, že všechny parametry už jsou uvozované jako platné řetězce adresy URL.

prepare_multipart_body

Připraví text tohoto požadavku podle informací o vícedílech.

Toto volání předpokládá, že se zásady on_request už použily ve správném kontextu (sync/async).

Neprovede nic, pokud se "set_multipart_mixed" nikdy nevolá.

serialize

Serializujte tento požadavek pomocí specifikace application/http.

set_bytes_body

Nastavte obecné bajty jako text požadavku.

Nastaví délku obsahu.

set_formdata_body

Nastavte data zakódovaná ve formuláři jako text požadavku.

set_json_body

Nastavte objekt, který je vhodný pro JSON, jako text požadavku.

set_multipart_mixed

Nastavte část vícedílného/smíšeného souboru.

V současné chvíli jsou podporovány pouze argumenty HttpRequest.

Hranice je volitelná, a pokud ji nezadáte, vygeneruje se. Všimněte si, že na hranici se neprovedou žádné ověření. Považuje se to za dostatečně pokročilé, abyste věděli, jak dodržovat rfc1341 7.2.1 a zadat správnou hranici.

Všechny další kwargs se předají do kontextu kanálu pro konfiguraci zásad jednotlivých požadavků.

set_streamed_data_body

Nastavte streamovatelné datové tělo.

set_text_body

Nastavte text jako text požadavku.

set_xml_body

Nastavte strom elementů XML jako text požadavku.

format_parameters

Naformátovat parametry do platného řetězce dotazu. Předpokládá se, že všechny parametry už jsou uvozované jako platné řetězce adresy URL.

format_parameters(params: Dict[str, str]) -> None

Parametry

params
dict
Vyžadováno

Slovník parametrů.

prepare_multipart_body

Připraví text tohoto požadavku podle informací o vícedílech.

Toto volání předpokládá, že se zásady on_request už použily ve správném kontextu (sync/async).

Neprovede nic, pokud se "set_multipart_mixed" nikdy nevolá.

prepare_multipart_body(content_index: int = 0) -> int

Parametry

content_index
int
výchozí hodnota: 0

Aktuální index částí v dávkové zprávě.

Návraty

Aktualizovaný index po přidání všech částí této žádosti

Návratový typ

int

serialize

Serializujte tento požadavek pomocí specifikace application/http.

serialize() -> bytes

Návraty

Požadavky serializovány jako zpráva http nízké úrovně v bajtech.

Návratový typ

set_bytes_body

Nastavte obecné bajty jako text požadavku.

Nastaví délku obsahu.

set_bytes_body(data: bytes) -> None

Parametry

data
bytes
Vyžadováno

Data pole požadavku.

set_formdata_body

Nastavte data zakódovaná ve formuláři jako text požadavku.

set_formdata_body(data: Dict[str, str] | None = None) -> None

Parametry

data
dict
výchozí hodnota: None

Data pole požadavku.

set_json_body

Nastavte objekt, který je vhodný pro JSON, jako text požadavku.

set_json_body(data: Any) -> None

Parametry

data
dict
Vyžadováno

Serializovatelný objekt JSON

set_multipart_mixed

Nastavte část vícedílného/smíšeného souboru.

V současné chvíli jsou podporovány pouze argumenty HttpRequest.

Hranice je volitelná, a pokud ji nezadáte, vygeneruje se. Všimněte si, že na hranici se neprovedou žádné ověření. Považuje se to za dostatečně pokročilé, abyste věděli, jak dodržovat rfc1341 7.2.1 a zadat správnou hranici.

Všechny další kwargs se předají do kontextu kanálu pro konfiguraci zásad jednotlivých požadavků.

set_multipart_mixed(*requests: HttpRequest, policies: List[SansIOHTTPPolicy[HTTPRequestType, HTTPResponseType]] | None = None, boundary: str | None = None, **kwargs: Any) -> None

Parametry

requests
HttpRequest
Vyžadováno

Požadavky na přidání do vícedílné/smíšené

policies
list[SansIOHTTPPolicy]

SansIOPolicy použít v době přípravy

boundary
str

Volitelná hranice

set_streamed_data_body

Nastavte streamovatelné datové tělo.

set_streamed_data_body(data: Any) -> None

Parametry

data
<xref:stream> nebo <xref:generator> nebo <xref:asyncgenerator>
Vyžadováno

Data pole požadavku.

set_text_body

Nastavte text jako text požadavku.

set_text_body(data: str) -> None

Parametry

data
str
Vyžadováno

Text, který se odešle jako text.

set_xml_body

Nastavte strom elementů XML jako text požadavku.

set_xml_body(data: Any) -> None

Parametry

data
<xref:<xref:XML node>>
Vyžadováno

Data pole požadavku.

Atributy

body

Alias pro data.

Návraty

Text požadavku.

Návratový typ

str,
dict,

query

Parametry dotazu požadavku jako dict.

Návraty

Parametry dotazu požadavku jako dict.

Návratový typ