Singgahan AutoProxy
Fungsi WinHttpGetProxyForUrl melakukan pencarian proksi otomatis berdasarkan per permintaan untuk URL yang ditentukan. Jika beberapa proksi dikembalikan, aplikasi klien harus menguji setiap proksi sebelum mengirim permintaan (untuk informasi selengkapnya, lihat bagian Hanya Satu Server Proksi yang Saat Ini Didukung di Masalah AutoProxy di WinHTTP). Informasi dalam topik ini berlaku untuk panggilan ke WinHttpGetProxyForUrl saat klien menentukan penemuan proksi otomatis.
WinHttpGetProxyForUrl secara opsional menemukan URL proksi otomatis dan mengunduh skrip proksi otomatis dari situs tersebut. WinHttp menggunakan skrip proksi otomatis untuk menemukan server proksi. URL proksi otomatis dan skrip proksi otomatis di-cache untuk sesi yang ditentukan. Hanya satu URL dan skrip proksi otomatis yang di-cache untuk setiap sesi. Biasanya, skrip dan URL autoproxy di-cache hingga alamat IP yang terkait dengan perubahan komputer. Jika alamat IP baru terdeteksi selama panggilan ke WinHttpGetProxyForUrl, panggilan akan mencoba menemukan URL dan skrip proksi otomatis baru dan men-cache hasilnya. Hanya satu pengguna yang boleh diizinkan per sesi, sehingga data yang di-cache tidak dibagikan dengan pengguna lain di komputer. Untuk informasi selengkapnya, lihat Gambaran Umum Sesi WinHTTP.
Jika layanan di luar proses aktif saat WinHttpGetProxyForUrl dipanggil, URL dan skrip autoproksi singgahan tersedia untuk seluruh komputer. Namun, jika layanan di luar proses digunakan, dan bendera fAutoLogonIfChallenged dalam struktur pAutoProxyOptions benar, maka URL dan skrip autoproksi tidak di-cache. Oleh karena itu, memanggil WinHttpGetProxyForUrl dengan anggota fAutoLogonIfChallenged diatur ke TRUE menghasilkan operasi overhead tambahan yang dapat memengaruhi performa. Langkah-langkah berikut dapat digunakan untuk meningkatkan performa.
Untuk meningkatkan performa
- Panggil WinHttpGetProxyForUrl dengan parameter fAutoLogonIfChallenged diatur ke false. URL dan skrip proksi otomatis di-cache untuk panggilan mendatang ke WinHttpGetProxyForUrl.
- Jika Langkah 1 gagal, dengan ERROR_WINHTTP_LOGIN_FAILURE, panggil WinHttpGetProxyForUrl dengan anggota fAutoLogonIfChallenged diatur ke TRUE.