Egyes proxytermékek olyan bejelentkezési folyamatot határoznak meg, amely cookie-t vagy tokent ad a későbbi proxykérésekhez. Ha ennek a tokennek meg kell jelennie a CONNECT-en, tartsa külön az alagúton belüli webhelyhez szánt cookie-któl.

A libcurl külön egyéni fejléc-listát biztosít a proxy számára. Egy már inicializált C-alkalmazásban egy konfigurációs részlet így nézhet ki:

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

Ez csak akkor megfelelő, ha a proxy dokumentált bejelentkezési protokollja megköveteli ezt a fejlécet. Ellenőrizze a lefoglalás és a beállítások eredményeit a környező kódban, tartsa meg a listát az átvitel befejezéséig, majd a lista felszabadítása előtt törölje vagy cserélje ki a fogantyú mutatóját.

Külön fejléc-kezeléssel a libcurl a proxy listát a CONNECT-en, a cél listát pedig a létrehozott alagúton belüli kérésen küldi. Így a proxy megkapja a szállító tokenjét anélkül, hogy ez a token webhely-cookie-vá válna. Ez a szétválasztás a libcurl 7.42.1 óta az alapértelmezett; az explicit beállítás láthatóvá teszi a szándékolt viselkedést.

A böngésző cookie-tárolója más mechanizmus

A libcurl cookie-motorjának engedélyezése vagy a célhoz beállított cookie nem reprodukálja automatikusan a böngésző saját proxy-bejelentkezési folyamatát. A CONNECT a cél HTTPS-cseréje előtt történik. Határozza meg a termék tényleges követelményeit, ahelyett hogy egy elfogott webhely-cookie-t másolna minden kérésbe.

Ha a proxy szabványos HTTP-proxy-hitelesítést használ, használja inkább a libcurl proxy hitelesítő adatait és a támogatott hitelesítési beállításokat. A Proxy-Authenticate-pal járó 407 más protokoll, mint a munkamenet-tokent visszaadó HTML-bejelentkező oldal.

Tartsa a tokent a proxy végpontjára és a tervezett élettartamára korlátozva. Más közvetítőre váltáskor cserélje ki a fejléc-listát a konfigurációváltozás részeként. Az általános kérésfejléc-lista rossz hely egy olyan titok számára, amely csak egy proxyhoz tartozik.

Kapcsolódó cikkek