HttpRequest 類別

表示 HTTP 要求。

您可以在沒有查詢參數的情況下提供 URL,以便稍後使用 「format_parameters」 來新增。

繼承
builtins.object
HttpRequest

建構函式

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

參數

method
str
必要

HTTP 方法 (GET、HEAD 等 )

url
str
必要

至少完整配置/主機/路徑

headers
dict[str,str]
預設值: None

HTTP 標頭

files
dict[str, tuple[str, IO, str, dict]] 或 dict[str, IO]
預設值: None

'name': file-like-objects多部分編碼上傳 (或 {'name': file-tuple}) 字典。 file-tuple 可以是 2 元組 ('filename', fileobj) 、3 元組 ('filename', fileobj, 'content_type') 或 4 元組 ('filename', fileobj, 'content_type', custom_headers) ,其中 'content_type' 是定義指定檔案內容類型的字串,以及 custom_headers 包含要為檔案新增之其他標頭的類似聽寫物件。

data
bytesdict (<xref:for form>)
預設值: None

要傳送的本文。

方法

format_parameters

將參數格式化為有效的查詢字串。 假設所有參數都已加上引號作為有效的 URL 字串。

prepare_multipart_body

會根據多部分資訊準備此要求的本文。

此呼叫假設已在正確的內容中套用on_request原則, (同步/非同步)

如果從未呼叫 「set_multipart_mixed」,則不會執行任何動作。

serialize

使用 application/HTTP 規格序列化此要求。

set_bytes_body

將泛型位元組設定為要求的主體。

將會設定內容長度。

set_formdata_body

將表單編碼的資料設定為要求的主體。

set_json_body

將 JSON 易記物件設定為要求的主體。

set_multipart_mixed

設定多部分/混合的元件。

目前僅支援引數為 HttpRequest 物件。

界限是選擇性的,如果未提供界限,則會產生一個界限。 請注意,界限上不會進行任何驗證,這被視為夠進階,因此您知道如何遵守 RFC1341 7.2.1 並提供正確的界限。

任何其他 kwargs 都會傳遞至每個要求原則設定的管線內容。

set_streamed_data_body

設定可串流資料主體。

set_text_body

將文字設定為要求的本文。

set_xml_body

將 XML 專案樹狀結構設定為要求的主體。

format_parameters

將參數格式化為有效的查詢字串。 假設所有參數都已加上引號作為有效的 URL 字串。

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

參數

params
dict
必要

參數的字典。

prepare_multipart_body

會根據多部分資訊準備此要求的本文。

此呼叫假設已在正確的內容中套用on_request原則, (同步/非同步)

如果從未呼叫 「set_multipart_mixed」,則不會執行任何動作。

prepare_multipart_body(content_index: int = 0) -> int

參數

content_index
int
預設值: 0

批次訊息中元件的目前索引。

傳回

新增此要求中所有元件之後的更新索引。

傳回類型

int

serialize

使用 application/HTTP 規格序列化此要求。

serialize() -> bytes

傳回

以位元組為單位序列化為 HTTP 低階訊息的要求。

傳回類型

set_bytes_body

將泛型位元組設定為要求的主體。

將會設定內容長度。

set_bytes_body(data: bytes) -> None

參數

data
bytes
必要

要求欄位資料。

set_formdata_body

將表單編碼的資料設定為要求的主體。

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

參數

data
dict
預設值: None

要求欄位資料。

set_json_body

將 JSON 易記物件設定為要求的主體。

set_json_body(data: Any) -> None

參數

data
dict
必要

JSON 可序列化物件

set_multipart_mixed

設定多部分/混合的元件。

目前僅支援引數為 HttpRequest 物件。

界限是選擇性的,如果未提供界限,則會產生一個界限。 請注意,界限上不會進行任何驗證,這被視為夠進階,因此您知道如何遵守 RFC1341 7.2.1 並提供正確的界限。

任何其他 kwargs 都會傳遞至每個要求原則設定的管線內容。

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

參數

requests
HttpRequest
必要

要新增至 multipart/mixed 的要求

policies
list[SansIOHTTPPolicy]

準備時要套用的 SansIOPolicy

boundary
str

選擇性界限

set_streamed_data_body

設定可串流資料主體。

set_streamed_data_body(data: Any) -> None

參數

data
<xref:stream> 或 <xref:generator> 或 <xref:asyncgenerator>
必要

要求欄位資料。

set_text_body

將文字設定為要求的本文。

set_text_body(data: str) -> None

參數

data
str
必要

要當做本文傳送的文字。

set_xml_body

將 XML 專案樹狀結構設定為要求的主體。

set_xml_body(data: Any) -> None

參數

data
<xref:<xref:XML node>>
必要

要求欄位資料。

屬性

body

資料的別名。

傳回

要求的本文。

傳回類型

str,
dict,

query

要求作為聽寫的查詢參數。

傳回

要求作為聽寫的查詢參數。

傳回類型