Bagikan melalui


Fungsi WinHttpGetProxyForUrl (winhttp.h)

Fungsi WinHttpGetProxyForUrl mengambil data proksi untuk URL yang ditentukan.

Sintaks

WINHTTPAPI BOOL WinHttpGetProxyForUrl(
  [in]  HINTERNET                 hSession,
  [in]  LPCWSTR                   lpcwszUrl,
  [in]  WINHTTP_AUTOPROXY_OPTIONS *pAutoProxyOptions,
  [out] WINHTTP_PROXY_INFO        *pProxyInfo
);

Parameter

[in] hSession

Handel sesi WinHTTP yang dikembalikan oleh fungsi WinHttpOpen .

[in] lpcwszUrl

Penunjuk ke string Unicode yang dihentikan null yang berisi URL permintaan HTTP yang siap dikirim aplikasi.

[in] pAutoProxyOptions

Penunjuk ke struktur WINHTTP_AUTOPROXY_OPTIONS yang menentukan opsi proksi otomatis untuk digunakan.

[out] pProxyInfo

Penunjuk ke struktur WINHTTP_PROXY_INFO yang menerima pengaturan proksi. Struktur ini kemudian diterapkan ke handel permintaan menggunakan opsi WINHTTP_OPTION_PROXY. Bebaskan string lpszProxy dan lpszProxyBypass yang terkandung dalam struktur ini (jika bukan NULL) menggunakan fungsi GlobalFree .

Mengembalikan nilai

Jika fungsi berhasil, fungsi mengembalikan TRUE.

Jika fungsi gagal, fungsi akan mengembalikan FALSE. Untuk data kesalahan yang diperluas, panggil GetLastError.

Kemungkinan kode kesalahan termasuk folllowing.

Kode Kesalahan Deskripsi
ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR
Dikembalikan oleh WinHttpGetProxyForUrl saat proksi untuk URL yang ditentukan tidak dapat ditemukan.
ERROR_WINHTTP_BAD_AUTO_PROXY_SCRIPT
Terjadi kesalahan saat menjalankan kode skrip dalam file Konfigurasi Otomatis Proksi (PAC).
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE
Jenis handel yang disediakan salah untuk operasi ini.
ERROR_WINHTTP_INTERNAL_ERROR
Terjadi kesalah internal.
ERROR_WINHTTP_INVALID_URL
URL tidak valid.
ERROR_WINHTTP_LOGIN_FAILURE
Upaya masuk gagal. Ketika kesalahan ini ditemui, tutup handel permintaan dengan WinHttpCloseHandle. Handel permintaan baru harus dibuat sebelum mencoba kembali fungsi yang awalnya menghasilkan kesalahan ini.
ERROR_WINHTTP_OPERATION_CANCELLED
Operasi dibatalkan, biasanya karena handel tempat permintaan beroperasi ditutup sebelum operasi selesai.
ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT
File PAC tidak dapat diunduh. Misalnya, server yang direferensikan oleh URL PAC mungkin belum dapat dijangkau, atau server mengembalikan respons 404 NOT FOUND.
ERROR_WINHTTP_UNRECOGNIZED_SCHEME
URL file PAC menentukan skema selain "http:" atau "https:".
ERROR_NOT_ENOUGH_MEMORY
Tidak tersedia cukup memori untuk menyelesaikan operasi yang diminta. (Kode galat Windows)

Keterangan

Fungsi ini mengimplementasikan protokol Penemuan Otomatis Proksi Web (WPAD) untuk mengonfigurasi pengaturan proksi secara otomatis untuk permintaan HTTP. Protokol WPAD mengunduh file Konfigurasi Otomatis Proksi (PAC), yang merupakan skrip yang mengidentifikasi server proksi yang akan digunakan untuk URL target tertentu. File PAC biasanya disebarkan oleh departemen IT dalam lingkungan jaringan perusahaan. URL file PAC dapat ditentukan secara eksplisit atau WinHttpGetProxyForUrl dapat diinstruksikan untuk menemukan lokasi file PAC secara otomatis di jaringan lokal.

WinHttpGetProxyForUrl hanya mendukung file PAC berbasis ECMAScript.

WinHttpGetProxyForUrl harus dipanggil berdasarkan per URL, karena file PAC dapat mengembalikan server proksi yang berbeda untuk URL yang berbeda. Ini berguna karena file PAC memungkinkan departemen IT untuk menerapkan penyeimbangan beban server proksi dengan memetakan (hashing) URL target (ditentukan oleh parameter lpcwszUrl ) ke proksi tertentu dalam array server proksi.

WinHttpGetProxyForUrl menyimpan url autoproxy dan skrip autoproxy saat penemuan otomatis ditentukan dalam anggota dwFlags struktur pAutoProxyOptions . Untuk informasi selengkapnya, lihat Cache Autoproxy.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP, Windows 2000 Professional dengan SP3 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003, Windows 2000 Server dengan SP3 [hanya aplikasi desktop]
Target Platform Windows
Header winhttp.h
Pustaka Winhttp.lib
DLL Winhttp.dll

Lihat juga

Versi WinHTTP