Oddělte proxy hlavičky libcurl od hlaviček webové stránky
Dejte libcurl samostatné seznamy proxy a cílových hlaviček a zároveň si uvědomte, že předávání prostým textem má jinou hranici viditelnosti.
U existujícího popisovače libcurl výslovně oddělte seznamy cílových a proxy hlaviček:
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); Udržujte nakonfigurovaný popisovač a platné seznamy po dobu přenosu živé. CURLHEADER_SEPARATE rozlišuje hlavičky použité na CONNECT od hlaviček použitých pro cílový požadavek. Starší příklady jednotné politiky mohou běžný seznam vložit do obou výměn.
| Cesta požadavku | Význam oddělených seznamů |
|---|---|
| HTTPS v běžném tunelu CONNECT | Nejprve probíhá výměna s proxy; cílové HTTP hlavičky následují uvnitř cílového TLS. |
| Běžné předávání HTTP | Proxy může číst cílové hlavičky a libcurl může použít oba příslušné seznamy v jediném předávaném požadavku. |
Směrovací značka určená pouze pro proxy patří do výměny s proxy. Při předávání prostým textem se libovolné vlastní pole může dostat k původci, pokud se s ním režim předávání nevypořádá; název volby není zárukou důvěrnosti.
K ověřování používejte podporované volby přihlašovacích údajů. U metadat definovaných operátorem určete, který přeskok je spotřebovává a zda je lze předávat, místo abyste ukládali heslo do obecného pole.
Když značka chybí nebo se zdá, že uniká, identifikujte skutečný požadavek, který ji obsahuje. Zpětné volání hlaviček zobrazující několik výměn může způsobit, že správně oddělené seznamy vypadají smíšeně.