Sesetengah produk proksi mentakrifkan aliran log masuk yang membekalkan cookie atau token untuk permintaan proksi seterusnya. Jika token itu mesti muncul pada CONNECT, asingkan ia daripada cookie yang bertujuan untuk laman web di dalam terowong.

libcurl menyediakan senarai pengepala tersuai khusus untuk proksi. Dalam aplikasi C yang sudah dimulakan, coretan konfigurasi boleh kelihatan seperti ini:

struct curl_slist *proxy_headers = NULL;
proxy_headers = curl_slist_append(proxy_headers,
    "Cookie: ProxySession=REPLACE_WITH_PROXY_TOKEN");
curl_easy_setopt(handle, CURLOPT_PROXYHEADER, proxy_headers);
curl_easy_setopt(handle, CURLOPT_HEADEROPT,
                 (long) CURLHEADER_SEPARATE);

Ini hanya sesuai apabila protokol log masuk proksi yang didokumenkan memerlukan pengepala itu. Semak hasil peruntukan dan pilihan dalam kod sekeliling, kekalkan senarai sehingga pemindahan selesai, kemudian kosongkan atau gantikan penuding pemegang sebelum membebaskan senarai.

Dengan pengendalian pengepala berasingan, libcurl menghantar senarai proksi pada CONNECT dan senarai destinasi pada permintaan di dalam terowong yang terbentuk. Oleh itu proksi menerima token vendor tanpa token itu menjadi cookie laman web. Pemisahan ini ialah lalai sejak libcurl 7.42.1; pilihan eksplisit menjadikan tingkah laku yang dimaksudkan kelihatan.

Balang cookie pelayar ialah mekanisme lain

Mengaktifkan enjin cookie libcurl atau menetapkan cookie untuk destinasi tidak menghasilkan semula aliran log masuk proksi hak milik pelayar secara automatik. CONNECT berlaku sebelum pertukaran HTTPS dengan destinasi. Kenal pasti keperluan sebenar produk dan bukannya menyalin cookie laman yang ditangkap ke setiap permintaan.

Jika proksi menggunakan pengesahan proksi HTTP standard, gunakan kelayakan proksi libcurl dan pilihan pengesahan yang disokong. 407 dengan Proxy-Authenticate ialah protokol berbeza daripada halaman log masuk HTML yang memulangkan token sesi.

Hadkan token kepada titik akhir proksinya dan jangka hayat yang dimaksudkan. Apabila bertukar kepada perantara lain, gantikan senarai pengepala sebagai sebahagian daripada perubahan konfigurasi itu. Senarai pengepala permintaan umum ialah tempat yang buruk untuk rahsia yang hanya milik satu proksi.

Artikel berkaitan