Некаторыя проксі-прадукты вызначаюць працэс лагінання, які выдае cookie або токен для наступных запытаў праз проксі. Калі гэты токен павінен з'явіцца ў CONNECT, трымайце яго асобна ад cookie, прызначаных для вэб-сайта ўнутры тунеля.

libcurl прадастаўляе асобны спіс карыстальніцкіх загалоўкаў для проксі. У ужо ініцыялізаваным C-дадатку фрагмент канфігурацыі можа выглядаць так:

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

Гэта мэтазгодна, толькі калі дакументаваны пратакол лагінання проксі патрабуе гэты загаловак. Праверце вынікі выдзялення і опцый у навакольным кодзе, захоўвайце спіс да завяршэння перадачы, потым ачысціце або заменіце ўказальнік дэскрыптара перад вызваленнем спіса.

З асобнай апрацоўкай загалоўкаў libcurl адпраўляе спіс проксі ў CONNECT, а спіс прызначэння — у запыце ўнутры ўсталяванага тунеля. Такім чынам, проксі атрымлівае токен пастаўшчыка, не робячы гэты токен cookie вэб-сайта. Гэтае раздзяленне прадугледжана па змаўчанні з libcurl 7.42.1; яўная опцыя робіць мэтавыя паводзіны бачнымі.

Банка cookie браўзера — іншы механізм

Уключэнне механізма cookie libcurl або ўстаноўка cookie для прызначэння не аўтаматычна ўзнаўляе ўласны працэс лагінання праз проксі браўзера. CONNECT адбываецца перад абменам HTTPS з прызначэннем. Вызначце фактычныя патрабаванні прадукту, а не капіруйце перахоплены cookie сайта ў кожны запыт.

Калі проксі выкарыстоўвае стандартную аўтэнтыфікацыю HTTP-проксі, выкарыстоўвайце замест гэтага ўліковыя даныя проксі libcurl і падтрыманыя опцыі аўтэнтыфікацыі. 407 з Proxy-Authenticate — гэта іншы пратакол, чым HTML-старонка лагінання, якая вяртае токен сеансу.

Абмяжуйце токен яго канчатковай кропкай проксі і меркаваным тэрмінам жыцця. Пры пераходзе да іншага пасярэдніка замяніце спіс загалоўкаў як частку гэтага змянення канфігурацыі. Агульны спіс загалоўкаў запыту — дрэннае месца для сакрэту, які належыць толькі аднаму проксі.

Падобныя артыкулы