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-tuple ('filename', fileobj)أو 3-tuple ('filename', fileobj, 'content_type') أو 4-tuple ('filename', fileobj, 'content_type', custom_headers)، حيث 'content_type' هي سلسلة تحدد نوع المحتوى للملف المحدد وعنصر custom_headers يشبه الإملاء يحتوي على رؤوس إضافية لإضافتها للملف.

data
bytes أو dict (<xref:for form>)
القيمة الافتراضية: None

النص الذي سيتم إرساله.

الأساليب

format_parameters

تنسيق المعلمات في سلسلة استعلام صالحة. من المفترض أن جميع المعلمات قد تم اقتباسها بالفعل كسلاسل URL صالحة.

prepare_multipart_body

سيقوم بإعداد نص هذا الطلب وفقا للمعلومات متعددة الأجزاء.

يفترض هذا الاستدعاء أن النهج on_request قد تم تطبيقها بالفعل في سياقها الصحيح (المزامنة/غير المتزامنة)

لا تفعل شيئا إذا لم يتم استدعاء "set_multipart_mixed".

serialize

قم بتسلسل هذا الطلب باستخدام مواصفات التطبيق/http.

set_bytes_body

تعيين وحدات البايت العامة كنص أساسي للطلب.

سيقوم بتعيين طول المحتوى.

set_formdata_body

تعيين البيانات المشفرة بالنموذج كنص أساسي للطلب.

set_json_body

تعيين كائن سهل الاستخدام JSON كنص أساسي للطلب.

set_multipart_mixed

تعيين جزء متعدد الأجزاء/مختلطة.

args المدعومة فقط في الوقت الحالي هي كائنات 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

قم بتسلسل هذا الطلب باستخدام مواصفات التطبيق/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

تعيين جزء متعدد الأجزاء/مختلطة.

args المدعومة فقط في الوقت الحالي هي كائنات 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
مطلوب

الطلبات التي يجب إضافتها إلى متعدد الأجزاء/المختلط

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

معلمات الاستعلام للطلب كإملاء.

المرتجعات

معلمات الاستعلام للطلب كإملاء.

نوع الإرجاع