Fungsi HttpSendRequestA (wininet.h)

Mengirim permintaan yang ditentukan ke server HTTP, memungkinkan pemanggil untuk mengirim data tambahan di luar apa yang biasanya diteruskan ke HttpSendRequestEx.

Sintaks

BOOL HttpSendRequestA(
  [in] HINTERNET hRequest,
  [in] LPCSTR    lpszHeaders,
  [in] DWORD     dwHeadersLength,
  [in] LPVOID    lpOptional,
  [in] DWORD     dwOptionalLength
);

Parameter

[in] hRequest

Handel yang dikembalikan oleh panggilan ke fungsi HttpOpenRequest .

[in] lpszHeaders

Penunjuk ke string yang dihentikan null yang berisi header tambahan yang akan ditambahkan ke permintaan. Parameter ini dapat berupa NULL jika tidak ada header tambahan yang akan ditambahkan.

[in] dwHeadersLength

Ukuran header tambahan, dalam TCHAR. Jika parameter ini adalah -1L dan lpszHeaders bukan NULL, fungsi mengasumsikan bahwa lpszHeaders dihentikan nol (ASCIIZ), dan panjangnya dihitung. Lihat Keterangan untuk spesifik.

[in] lpOptional

Penunjuk ke buffer yang berisi data opsional apa pun yang akan dikirim segera setelah header permintaan. Parameter ini umumnya digunakan untuk operasi POST dan PUT. Data opsional dapat menjadi sumber daya atau informasi yang diposting ke server. Parameter ini bisa NULL jika tidak ada data opsional untuk dikirim.

[in] dwOptionalLength

Ukuran data opsional, dalam byte. Parameter ini bisa nol jika tidak ada data opsional untuk dikirim.

Nilai kembali

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

Keterangan

HttpSendRequest mengirimkan permintaan yang ditentukan ke server HTTP dan memungkinkan klien menentukan header tambahan untuk dikirim bersama dengan permintaan.

Fungsi ini juga memungkinkan klien menentukan data opsional untuk dikirim ke server HTTP segera mengikuti header permintaan. Fitur ini umumnya digunakan untuk operasi "tulis" seperti PUT dan POST.

Setelah permintaan dikirim, kode status dan header respons dari server HTTP dibaca. Header ini dipertahankan secara internal dan tersedia untuk aplikasi klien melalui fungsi HttpQueryInfo .

Aplikasi dapat menggunakan handel permintaan HTTP yang sama dalam beberapa panggilan ke HttpSendRequest, tetapi aplikasi harus membaca semua data yang dikembalikan dari panggilan sebelumnya sebelum memanggil fungsi lagi.

Dalam mode offline, HttpSendRequest mengembalikan ERROR_FILE_NOT_FOUND jika sumber daya tidak ditemukan di cache Internet.

Ada dua versi HttpSendRequestHttpSendRequestA (digunakan dengan build ANSI) dan HttpSendRequestW (digunakan dengan build Unicode). Jika dwHeadersLength adalah -1L dan lpszHeaders bukan NULL, hal berikut akan terjadi: Jika HttpSendRequestA dipanggil, fungsi mengasumsikan bahwa lpszHeaders dihentikan nol (ASCIIZ), dan panjangnya dihitung. Jika HttpSendRequestW dipanggil, fungsi gagal dengan ERROR_INVALID_PARAMETER.

Catatan Fungsi HttpSendRequestA mewakili header sebagai karakter ISO-8859-1 bukan karakter ANSI. Fungsi HttpSendRequestW mewakili header sebagai karakter ISO-8859-1 yang dikonversi menjadi karakter UTF-16LE. Akibatnya, tidak pernah aman untuk menggunakan fungsi HttpSendRequestW 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 HttpSendRequest sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosedur 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

Persyaratan Nilai
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