Ločite libcurlove proxy glave od glav spletnega mesta
Dajte libcurlu ločena seznama proxy in ciljnih glav, pri tem pa upoštevajte, da ima posredovanje v čistem besedilu drugačno mejo vidnosti.
Za obstoječi ročaj libcurl izrecno ločite seznama ciljnih in proxy glav:
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); Med prenosom ohranjajte konfigurirani ročaj in veljavne sezname žive. CURLHEADER_SEPARATE razlikuje glave, uporabljene na CONNECT, od glav, uporabljenih za zahtevo do cilja. Starejši primeri enotne politike lahko običajni seznam vstavijo v obe izmenjavi.
| Pot zahteve | Pomen ločenih seznamov |
|---|---|
| HTTPS v običajnem tunelu CONNECT | Najprej pride izmenjava s proxyjem; nato ciljne glave HTTP sledijo znotraj ciljnega TLS. |
| Običajno posredovanje HTTP | Proxy lahko prebere ciljne glave, libcurl pa lahko uporabi oba ustrezna seznama v eni posredovani zahtevi. |
Usmerjevalna oznaka, namenjena samo proxyju, spada k izmenjavi s proxyjem. Pri posredovanju v čistem besedilu lahko poljubno polje po meri doseže izvor, razen če posredovalna ureditev z njim upravlja; ime možnosti ni jamstvo za zaupnost.
Za preverjanje pristnosti uporabite podprte možnosti poverilnic. Pri metapodatkih, ki jih določi operater, ugotovite, kateri skok jih porablja in ali jih je dovoljeno posredovati, namesto da geslo vstavite v splošno polje.
Ko oznaka manjka ali se zdi, da pušča, prepoznajte dejansko zahtevo, ki jo vsebuje. Povratni klic glav, ki prikazuje več izmenjav, lahko povzroči, da so pravilno ločeni seznami videti mešani.