За постоечка рачка на libcurl, експлицитно одвојте ги списоците со дестинациски и прокси заглавија:

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);

Одржувајте ја конфигурираната рачка и важечките списоци живи за време на преносот. CURLHEADER_SEPARATE разликува заглавија што се користат на CONNECT од заглавија што се користат за барањето до дестинацијата. Постари примери со унифицирана политика можат да го стават обичниот список во двете размени.

Патека на барањетоЗначење на одделните списоци
HTTPS во обичен CONNECT тунелПрво доаѓа размената со проксито; потоа следуваат HTTP заглавијата на дестинацијата во TLS-от на дестинацијата.
Обично HTTP препраќањеПроксито може да ги чита заглавијата на дестинацијата, а libcurl може да ги користи двата применливи списоци во едното препратено барање.

Маркерот за рутирање само за проксито ѝ припаѓа на размената со проксито. При препраќање со отворен текст, произволно прилагодено поле може да стигне до изворот освен ако распоредот за препраќање не се справи со него; името на опцијата не е гаранција за доверливост.

Користете поддржани опции за акредитиви при автентикација. За метаподатоци дефинирани од операторот, утврдете кој скок ги троши и дали смеат да се препратат наместо да ставите лозинка во генеричко поле.

Кога маркерот недостасува или изгледа дека протекува, идентификувајте го вистинското барање што го содржи. Повратен повик на заглавија што прикажува неколку размени може да направи правилно одвоените списоци да изгледаат измешани.

Поврзани статии