Fungsi HttpOpenRequestW (wininet.h)
Membuat handel permintaan HTTP.
Sintaks
HINTERNET HttpOpenRequestW(
[in] HINTERNET hConnect,
[in] LPCWSTR lpszVerb,
[in] LPCWSTR lpszObjectName,
[in] LPCWSTR lpszVersion,
[in] LPCWSTR lpszReferrer,
[in] LPCWSTR *lplpszAcceptTypes,
[in] DWORD dwFlags,
[in] DWORD_PTR dwContext
);
Parameter
[in] hConnect
Handel ke sesi HTTP yang dikembalikan oleh InternetConnect.
[in] lpszVerb
Penunjuk ke string yang dihentikan null yang berisi kata kerja HTTP untuk digunakan dalam permintaan. Jika parameter ini NULL, fungsi menggunakan GET sebagai kata kerja HTTP.
[in] lpszObjectName
Penunjuk ke string yang dihentikan null yang berisi nama objek target kata kerja HTTP yang ditentukan. Ini umumnya adalah nama file, modul yang dapat dieksekusi, atau penentu pencarian.
[in] lpszVersion
Penunjuk ke string yang dihentikan null yang berisi versi HTTP yang akan digunakan dalam permintaan. Pengaturan di Internet Explorer akan menggantikan nilai yang ditentukan dalam parameter ini.
Jika parameter ini NULL, fungsi menggunakan versi HTTP 1.1 atau 1.0, tergantung pada nilai pengaturan Internet Explorer.
Nilai | Makna |
---|---|
|
HTTP versi 1.0 |
|
HTTP versi 1.1 |
[in] lpszReferrer
Penunjuk ke string yang dihentikan null yang menentukan URL dokumen tempat URL dalam permintaan (lpszObjectName) diperoleh. Jika parameter ini NULL, tidak ada referen yang ditentukan.
[in] lplpszAcceptTypes
Penunjuk ke array string yang dihentikan null yang menunjukkan jenis media yang diterima oleh klien. Berikut adalah contohnya.
PCTSTR rgpszAcceptTypes[] = {_T("text/*"), NULL};
Gagal mengakhiri array dengan benar dengan penunjuk NULL akan menyebabkan crash.
Jika parameter ini NULL, tidak ada jenis yang diterima oleh klien. Server umumnya menginterpretasikan kurangnya jenis terima untuk menunjukkan bahwa klien hanya menerima dokumen jenis "text/*" (yaitu, hanya dokumen teks—tidak ada gambar atau file biner lainnya).
[in] dwFlags
Opsi internet. Parameter ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
|
Mengembalikan sumber daya dari cache jika permintaan jaringan untuk sumber daya gagal karena ERROR_INTERNET_CONNECTION_RESET (koneksi dengan server telah diatur ulang) atau ERROR_INTERNET_CANNOT_CONNECT (upaya untuk terhubung ke server gagal). |
|
Memaksa pemuatan ulang jika tidak ada waktu Kedaluwarsa dan tidak ada waktu LastModified yang dikembalikan dari server saat menentukan apakah akan memuat ulang item dari jaringan. |
|
Menonaktifkan pemeriksaan sertifikat berbasis SSL/PCT yang dikembalikan dari server terhadap nama host yang diberikan dalam permintaan. Fungsi WinINet menggunakan pemeriksaan sederhana terhadap sertifikat dengan membandingkan untuk mencocokkan nama host dan aturan wildcarding sederhana. |
|
Menonaktifkan pemeriksaan sertifikat berbasis SSL/PCT untuk tanggal validitas yang tepat. |
|
Menonaktifkan deteksi jenis pengalihan khusus ini. Ketika bendera ini digunakan, fungsi WinINet secara transparan memungkinkan pengalihan dari HTTPS ke URL HTTP. |
|
Menonaktifkan deteksi jenis pengalihan khusus ini. Ketika bendera ini digunakan, fungsi WinINet secara transparan memungkinkan pengalihan dari URL HTTP ke HTTPS. |
|
Menggunakan semantik tetap hidup, jika tersedia, untuk koneksi. Bendera ini diperlukan untuk Microsoft Network (MSN), NT LAN Manager (NTLM), dan jenis autentikasi lainnya. |
|
Menyebabkan file sementara dibuat jika file tidak dapat di-cache. |
|
Tidak mencoba autentikasi secara otomatis. |
|
Tidak secara otomatis menangani pengalihan di HttpSendRequest. |
|
Tidak menambahkan entitas yang dikembalikan ke cache. |
|
Tidak secara otomatis menambahkan header cookie ke permintaan, dan tidak secara otomatis menambahkan cookie yang dikembalikan ke database cookie. |
|
Menonaktifkan kotak dialog cookie. |
|
Memaksa permintaan diselesaikan oleh server asal, bahkan jika salinan yang di-cache ada di proksi. |
|
Memaksa pengunduhan file, objek, atau daftar direktori yang diminta dari server asal, bukan dari cache. |
|
Memuat ulang sumber daya HTTP jika sumber daya telah dimodifikasi sejak terakhir kali diunduh. Semua sumber daya FTP dimuat ulang.
Windows XP dan Windows Server 2003 R2 dan yang lebih lama: Sumber daya gopher juga dimuat ulang. |
|
Menggunakan semantik transaksi yang aman. Ini diterjemahkan menggunakan Secure Sockets Layer/Private Communications Technology (SSL/PCT) dan hanya bermakna dalam permintaan HTTP. |
[in] dwContext
Penunjuk ke variabel yang berisi nilai yang ditentukan aplikasi yang mengaitkan operasi ini dengan data aplikasi apa pun.
Mengembalikan nilai
Mengembalikan handel permintaan HTTP jika berhasil, atau NULL sebaliknya. Untuk mengambil informasi kesalahan yang diperluas, panggil GetLastError.
Keterangan
Fungsi HttpOpenRequest membuat handel permintaan HTTP baru dan menyimpan parameter yang ditentukan dalam handel tersebut. Handel permintaan HTTP menahan permintaan untuk dikirim ke server HTTP dan berisi semua header RFC822/MIME/HTTP untuk dikirim sebagai bagian dari permintaan.
Jika kata kerja selain "GET" atau "POST" ditentukan, HttpOpenRequest secara otomatis mengatur INTERNET_FLAG_NO_CACHE_WRITE dan INTERNET_FLAG_RELOAD untuk permintaan tersebut.
Dengan Microsoft Internet Explorer 5 dan yang lebih baru, jika lpszVerb diatur ke "HEAD", header Content-Length diabaikan pada respons dari server HTTP/1.1.
Pada Windows 7, Windows Server 2008 R2, dan yang lebih baru, parameter lpszVersion ditimpa oleh pengaturan Internet Explorer. EnableHttp1_1 adalah nilai registri di bawah HKLM\Software\Microsoft\InternetExplorer\AdvacnedOptions\HTTP\GENABLE yang dikendalikan oleh Opsi Internet yang diatur di Internet Explorer untuk sistem. Nilai EnableHttp1_1 default ke 1. Fungsi HttpOpenRequest meningkatkan versi HTTP apa pun yang kurang dari 1.1 ke HTTP versi 1.1 jika EnableHttp1_1 diatur ke 1.
Setelah aplikasi panggilan selesai menggunakan handel HINTERNET yang dikembalikan oleh HttpOpenRequest, aplikasi harus ditutup menggunakan fungsi InternetCloseHandle .
Catatan Ketika permintaan dikirim dalam mode asinkron (parameter dwFlagsInternetOpen menentukan INTERNET_FLAG_ASYNC), dan parameter dwContext adalah nol (INTERNET_NO_CALLBACK), fungsi panggilan balik yang diatur dengan InternetSetStatusCallback pada handel permintaan tidak akan dipanggil, namun, panggilan masih akan dilakukan dalam mode asinkron.
Seperti semua aspek lain dari Api WinINet, fungsi ini tidak dapat dipanggil dengan aman dari dalam DllMain atau konstruktor dan destruktor objek global.
Catatan
Header wininet.h mendefinisikan HttpOpenRequest 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 |