Asingkan Pengepala Proksi libcurl daripada Pengepala Laman Web
Berikan libcurl senarai pengepala proksi dan destinasi yang berasingan, sambil mengakui bahawa pemajuan teks biasa mempunyai sempadan keterlihatan yang berbeza.
Untuk pemegang libcurl sedia ada, asingkan senarai pengepala destinasi dan proksi secara eksplisit:
curl_easy_setopt(handle, CURLOPT_HEADEROPT, (long)CURLHEADER_SEPARATE);
curl_easy_setopt(handle, CURLOPT_PROXYHEADER, proxy_headers);
curl_easy_setopt(handle, CURLOPT_HTTPHEADER, origin_headers); Pastikan pemegang yang dikonfigurasikan dan senarai yang sah kekal hidup semasa pemindahan. CURLHEADER_SEPARATE membezakan pengepala yang digunakan pada CONNECT daripada pengepala yang digunakan untuk permintaan destinasi. Contoh dasar bersatu yang lebih lama boleh meletakkan senarai biasa dalam kedua-dua pertukaran.
| Laluan permintaan | Maksud senarai berasingan |
|---|---|
| HTTPS di dalam terowong CONNECT biasa | Pertukaran proksi datang dahulu; kemudian pengepala HTTP destinasi menyusul di dalam TLS destinasi. |
| Pemajuan HTTP biasa | Proksi boleh membaca pengepala destinasi, dan libcurl boleh menggunakan kedua-dua senarai yang berkenaan pada satu permintaan yang dimajukan. |
Penanda penghalaan khusus proksi tergolong dalam pertukaran proksi. Dengan pemajuan teks biasa, medan tersuai sewenang-wenangnya boleh sampai ke asal melainkan susunan pemajuan mengendalikannya; nama pilihan itu bukan jaminan kerahsiaan.
Gunakan pilihan kelayakan yang disokong untuk pengesahan. Untuk metadata yang ditentukan pengendali, tentukan hop mana yang menggunakannya dan sama ada ia boleh dimajukan dan bukannya meletakkan kata laluan dalam medan generik.
Apabila penanda hilang atau kelihatan bocor, kenal pasti permintaan sebenar yang mengandunginya. Panggil balik pengepala yang menunjukkan beberapa pertukaran boleh membuat senarai yang diasingkan dengan betul kelihatan bercampur.