Bagikan melalui


Fungsi HttpAddRequestHeadersA (wininet.h)

Menambahkan satu atau beberapa header permintaan HTTP ke handel permintaan HTTP.

Sintaks

BOOL HttpAddRequestHeadersA(
  [in] HINTERNET hRequest,
  [in] LPCSTR    lpszHeaders,
  [in] DWORD     dwHeadersLength,
  [in] DWORD     dwModifiers
);

Parameter

[in] hRequest

Handel yang dikembalikan oleh panggilan ke fungsi HttpOpenRequest .

[in] lpszHeaders

Penunjuk ke variabel string yang berisi header untuk ditambahkan ke permintaan. Setiap header harus dihentikan oleh pasangan CR/LF (carriage return/line feed).

[in] dwHeadersLength

Ukuran lpszHeaders, dalam TCHAR. Jika parameter ini adalah -1L, fungsi mengasumsikan bahwa lpszHeaders tidak dihentikan (ASCIIZ), dan panjangnya dihitung.

[in] dwModifiers

Satu set pengubah yang mengontrol semantik fungsi ini. Parameter ini bisa menjadi kombinasi dari nilai berikut.

Nilai Makna
HTTP_ADDREQ_FLAG_ADD
Menambahkan header jika tidak ada. Digunakan dengan HTTP_ADDREQ_FLAG_REPLACE.
HTTP_ADDREQ_FLAG_ADD_IF_NEW
Menambahkan header hanya jika belum ada; jika tidak, kesalahan dikembalikan.
HTTP_ADDREQ_FLAG_COALESCE
Koalesce header dengan nama yang sama.
HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA
Koalesce header dengan nama yang sama. Misalnya, menambahkan "Terima: teks/*" diikuti dengan "Terima: audio/*" dengan bendera ini menghasilkan pembentukan header tunggal "Terima: teks/*, audio/*". Hal ini menyebabkan header pertama yang ditemukan digabungkan. Terserah aplikasi panggilan untuk memastikan skema kohesif sehubungan dengan header yang digabungkan/dipisahkan.
HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON
Koalesce header dengan nama yang sama menggunakan titik koma.
HTTP_ADDREQ_FLAG_REPLACE
Mengganti atau menghapus header. Jika nilai header kosong dan header ditemukan, header akan dihapus. Jika tidak kosong, nilai header diganti.

Nilai kembali

Mengembalikan TRUE jika berhasil, atau FALSE sebaliknya. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

HttpAddRequestHeaders menambahkan header format bebas tambahan ke handel permintaan HTTP dan dimaksudkan untuk digunakan oleh klien canggih yang membutuhkan kontrol terperinci atas permintaan yang tepat yang dikirim ke server HTTP.

Perhatikan bahwa untuk HttpAddRequestHeaders dasar, aplikasi dapat meneruskan beberapa header dalam satu buffer. Jika aplikasi mencoba menghapus atau mengganti header, hanya satu header yang dapat disediakan di lpszHeaders.

Catatan Fungsi HttpAddRequestHeadersA mewakili header sebagai karakter ISO-8859-1 bukan karakter ANSI. Fungsi HttpAddRequestHeadersW mewakili header sebagai karakter ISO-8859-1 yang dikonversi menjadi karakter UTF-16LE. Akibatnya, tidak pernah aman untuk menggunakan fungsi HttpAddRequestHeadersW ketika header yang akan ditambahkan dapat berisi karakter non-ASCII. Sebagai gantinya, aplikasi dapat menggunakan fungsi MultiByteToWideChar dan WideCharToMultiByte dengan parameter Codepage yang diatur ke 28591 untuk memetakan antara karakter ANSI dan karakter UTF-16LE.
 
Seperti semua aspek lain dari Api WinINet, fungsi ini tidak dapat dipanggil dengan aman dari dalam DllMain atau konstruktor dan destruktor objek global.
Catatan WinINet tidak mendukung implementasi server. Selain itu, itu tidak boleh digunakan dari layanan. Untuk implementasi atau layanan server, gunakan Microsoft Windows HTTP Services (WinHTTP).
 

Catatan

Header wininet.h mendefinisikan HttpAddRequestHeaders sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header wininet.h
Pustaka Wininet.lib
DLL Wininet.dll

Lihat juga

Sesi HTTP

Fungsi WinINet