Bagikan melalui


struktur HTTP_REQUEST_V1 (http.h)

Menggunakan struktur HTTP_REQUEST untuk mengembalikan data yang terkait dengan permintaan tertentu.

Jangan gunakan HTTP_REQUEST_V1 langsung dalam kode Anda; menggunakan HTTP_REQUEST sebagai gantinya memastikan bahwa versi yang tepat, berdasarkan sistem operasi, kode dikompilasi di bawah, digunakan.

Sintaks

typedef struct _HTTP_REQUEST_V1 {
  ULONG                  Flags;
  HTTP_CONNECTION_ID     ConnectionId;
  HTTP_REQUEST_ID        RequestId;
  HTTP_URL_CONTEXT       UrlContext;
  HTTP_VERSION           Version;
  HTTP_VERB              Verb;
  USHORT                 UnknownVerbLength;
  USHORT                 RawUrlLength;
  PCSTR                  pUnknownVerb;
  PCSTR                  pRawUrl;
  HTTP_COOKED_URL        CookedUrl;
  HTTP_TRANSPORT_ADDRESS Address;
  HTTP_REQUEST_HEADERS   Headers;
  ULONGLONG              BytesReceived;
  USHORT                 EntityChunkCount;
  PHTTP_DATA_CHUNK       pEntityChunks;
  HTTP_RAW_CONNECTION_ID RawConnectionId;
  PHTTP_SSL_INFO         pSslInfo;
} HTTP_REQUEST_V1, *PHTTP_REQUEST_V1;

Anggota

Flags

Kombinasi nol atau lebih dari nilai bendera berikut dapat digabungkan, dengan OR, yang sesuai.

Nilai Makna
HTTP_REQUEST_FLAG_MORE_ENTITY_BODY_EXISTS
Ada lebih banyak badan entitas yang akan dibaca untuk permintaan ini. Ini hanya berlaku untuk permintaan masuk yang mencakup beberapa bacaan.

Jika nilai ini tidak ditetapkan, seluruh isi entitas disalin ke dalam buffer yang ditentukan oleh pEntityChunks atau permintaan tidak menyertakan badan entitas.

HTTP_REQUEST_FLAG_IP_ROUTED
Permintaan dirutekan berdasarkan host dan pengikatan IP. Aplikasi harus mencerminkan IP lokal saat membersihkan entri cache kernel untuk permintaan ini.

Windows Server 2003 dengan SP1 dan Windows XP dengan SP2: Bendera ini tidak didukung.

HTTP_REQUEST_FLAG_HTTP2
Menunjukkan permintaan diterima melalui HTTP/2.

ConnectionId

Pengidentifikasi untuk koneksi tempat permintaan diterima. Gunakan nilai ini saat memanggil HttpWaitForDisconnect atau HttpReceiveClientCertificate.

RequestId

Nilai yang digunakan untuk mengidentifikasi permintaan saat memanggil HttpReceiveRequestEntityBody, HttpSendHttpResponse, dan/atau HttpSendResponseEntityBody.

UrlContext

Konteks yang terkait dengan URL dalam parameter pRawUrl .

Windows Server 2003 dengan SP1 dan Windows XP dengan SP2:

Version

Struktur HTTP_VERSION yang berisi versi HTTP yang ditentukan oleh permintaan ini.

Verb

Kata kerja HTTP yang terkait dengan permintaan ini. Anggota ini bisa menjadi salah satu nilai dari
enumerasi HTTP_VERB .

UnknownVerbLength

Jika anggota Kata Kerja berisi nilai yang sama dengan HttpVerbUnknown, anggota UnknownVerbLength berisi ukuran, dalam byte, dari string yang ditujukkan oleh anggota pUnknownVerb , tidak termasuk karakter null yang mengakhiri. Jika Kata Kerja tidak sama dengan HttpVerbUnknown, UnknownVerbLength sama dengan nol.

RawUrlLength

Ukuran, dalam byte, dari string URL yang tidak diolah yang diarahkan oleh anggota pRawUrl , tidak termasuk karakter null yang mengakhiri.

pUnknownVerb

Jika anggota Kata Kerja sama dengan HttpVerbUnknown, pUnknownVerb, menunjuk ke string oktet yang dihentikan null yang berisi kata kerja HTTP untuk permintaan ini; jika tidak, aplikasi mengabaikan parameter ini.

pRawUrl

Penunjuk ke string oktet yang berisi URL asli yang tidak diolah yang ditargetkan oleh permintaan ini. Gunakan URL yang tidak diolah ini hanya untuk tujuan pelacakan atau statistik; anggota CookedUrl berisi bentuk kanonis URL untuk penggunaan umum.

CookedUrl

Struktur HTTP_COOKED_URL yang berisi versi karakter lebar kanonis yang diurai dari URL yang ditargetkan oleh permintaan ini. Ini adalah versi PENDENGAR HTTP URL yang harus ditindaklanjuti, bukan URL mentah.

Address

Struktur HTTP_TRANSPORT_ADDRESS yang berisi alamat transportasi untuk koneksi untuk permintaan ini.

Headers

Struktur HTTP_REQUEST_HEADERS yang berisi header yang ditentukan dalam permintaan ini.

BytesReceived

Jumlah total byte yang diterima dari jaringan yang terdiri dari permintaan ini.

EntityChunkCount

Jumlah elemen dalam array pEntityChunks . Jika tidak ada badan entitas yang disalin, nilai ini adalah nol.

pEntityChunks

Penunjuk ke array struktur HTTP_DATA_CHUNK yang berisi blok data yang membentuk badan entitas. HttpReceiveHttpRequest tidak menyalin isi entitas kecuali dipanggil dengan set bendera HTTP_RECEIVE_REQUEST_FLAG_COPY_BODY.

RawConnectionId

ID koneksi mentah untuk permintaan Secure Sockets Layer (SSL).

pSslInfo

Penunjuk ke struktur HTTP_SSL_INFO yang berisi informasi Secure Sockets Layer (SSL) tentang koneksi tempat permintaan diterima.

Keterangan

URL yang tidak diolah yang terkandung dalam anggota pRawUrl hanya untuk tujuan pelacakan dan statistik. Untuk tujuan lain, gunakan URL kanonis yang diproses yang terkandung dalam anggota CookedUrl .

Persyaratan

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Header http.h

Lihat juga

Struktur HTTP Server API Versi 2.0

HTTP_COOKED_URL

HTTP_DATA_CHUNK

HTTP_REQUEST

HTTP_REQUEST_V2

HTTP_RESPONSE

HTTP_SSL_INFO

HTTP_TRANSPORT_ADDRESS

HTTP_VERB

HttpReceiveHttpRequest

HttpReceiveRequestEntityBody

HttpSendHttpResponse

HttpSendResponseEntityBody