Bagikan melalui


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 ketika klien menentukan penemuan proksi otomatis.

WinHttpGetProxyForUrl secara opsional menemukan URL autoproxy dan mengunduh skrip autoproksi 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 proksi otomatis 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 menyimpan 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 yang di-cache tersedia untuk seluruh komputer. Namun, jika layanan di luar proses digunakan, dan bendera fAutoLogonIfChallenged di struktur pAutoProxyOptions adalah benar, maka URL dan skrip autoproksi tidak di-cache. Oleh karena itu, memanggil WinHttpGetProxyForUrl fAutoLogonIfChallenged diatur ke TRUE menghasilkan operasi overhead tambahan yang dapat memengaruhi performa. Langkah-langkah berikut dapat digunakan untuk meningkatkan performa.

Untuk meningkatkan performa

  1. Panggil WinHttpGetProxyForUrl dengan parameter fAutoLogonIfChallenged diatur ke false. URL dan skrip autoproksi di-cache untuk panggilan mendatang ke WinHttpGetProxyForUrl.
  2. Jika Langkah 1 gagal, dengan ERROR_WINHTTP_LOGIN_FAILURE, panggil WinHttpGetProxyForUrl dengan anggota fAutoLogonIfChallenged diatur ke TRUE.