Fungsi WinHttpGetProxyForUrlEx (winhttp.h)
Fungsi WinHttpGetProxyForUrlEx mengambil data proksi untuk URL yang ditentukan.
Sintaks
WINHTTPAPI DWORD WinHttpGetProxyForUrlEx(
[in] HINTERNET hResolver,
[in] PCWSTR pcwszUrl,
[in] WINHTTP_AUTOPROXY_OPTIONS *pAutoProxyOptions,
[in] DWORD_PTR pContext
);
Parameter
[in] hResolver
Handel resolver WinHTTP yang dikembalikan oleh fungsi WinHttpCreateProxyResolver .
[in] pcwszUrl
Penunjuk ke string Unicode yang dihentikan null yang berisi URL yang informasi proksinya akan ditentukan.
[in] pAutoProxyOptions
Penunjuk ke struktur WINHTTP_AUTOPROXY_OPTIONS yang menentukan opsi proksi otomatis untuk digunakan.
[in] pContext
Data konteks yang akan diteruskan ke fungsi panggilan balik penyelesaian.
Mengembalikan nilai
Kode status yang menunjukkan hasil operasi.
Kode berikut dapat dikembalikan. | Deskripsi |
---|---|
|
Operasi ini terus berlanjut secara asinkron. |
|
Dikembalikan oleh WinHttpGetProxyForUrlEx saat proksi untuk URL yang ditentukan tidak dapat ditemukan. |
|
Terjadi kesalahan saat menjalankan kode skrip dalam file Konfigurasi Otomatis Proksi (PAC). |
|
Jenis handel yang disediakan salah untuk operasi ini. |
|
URL tidak valid. |
|
Operasi dibatalkan, biasanya karena handel tempat permintaan beroperasi ditutup sebelum operasi selesai. |
|
File PAC tidak dapat diunduh. Misalnya, server yang direferensikan oleh URL PAC mungkin belum dapat dijangkau, atau server mengembalikan respons 404 NOT FOUND. |
|
URL file PAC menentukan skema selain "http:" atau "https:". |
|
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 WinHttpGetProxyForUrlEx dapat diinstruksikan untuk menemukan lokasi file PAC secara otomatis di jaringan lokal.
WinHttpGetProxyForUrlEx hanya mendukung file PAC berbasis ECMAScript.
WinHttpGetProxyForUrlEx 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.
WinHttpGetProxyForUrlEx menyimpan url proksi otomatis dan skrip autoproxy saat penemuan otomatis ditentukan dalam anggota dwFlags dari struktur pAutoProxyOptions . Untuk informasi selengkapnya, lihat Cache Autoproxy.
WinHttpGetProxyForUrlEx menyediakan API yang sepenuhnya Asinkron dan dapat dibatalkan yang tidak dilakukan WinHttpGetProxyForUrl . WinHttpGetProxyForUrlEx juga menyediakan aplikasi dengan daftar proksi lengkap yang dikembalikan oleh skrip PAC yang memungkinkan aplikasi untuk menangani failover dengan lebih baik ke "DIRECT" dan untuk memahami SOCKS jika diinginkan.
WinHttpGetProxyForUrlEx selalu dijalankan secara asinkron dan segera kembali dengan ERROR_IO_PENDING pada keberhasilan. Panggilan balik diatur dengan memanggil WinHttpSetStatusCallback pada hSession yang disediakan oleh WinHttpOpen. Panggil WinHttpSetStatusCallback secara bergantian di hResolver yang disediakan oleh WinHttpCreateProxyResolver untuk memiliki panggilan balik tertentu untuk setiap panggilan.
Anda harus memanggil WinHttpSetStatusCallback sebelum WinHttpCreateProxyResolver. Saat memanggil WinHttpSetStatusCallback, gunakan WINHTTP_CALLBACK_FLAG_REQUEST_ERROR | WINHTTP_CALLBACK_FLAG_GETPROXYFORURL_COMPLETE. Lihat WINHTTP_STATUS_CALLBACK untuk informasi tentang penggunaan panggilan balik.
Setelah panggilan balik status WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE dikembalikan, aplikasi dapat memanggil WinHttpGetProxyResult pada handel resolver yang digunakan untuk menerbitkan WinHttpGetProxyForUrlEx untuk menerima hasil panggilan tersebut.
Jika panggilan gagal setelah mengembalikan ERROR_IO_PENDING maka panggilan balik WINHTTP_CALLBACK_STATUS_REQUEST_ERROR akan dikeluarkan.
Fungsi ini selalu menjalankan di luar proses.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8 [khusus aplikasi desktop] |
Server minimum yang didukung | Windows Server 2012 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | winhttp.h |
Pustaka | Winhttp.lib |
DLL | Winhttp.dll |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk