Պրոքսի cookie-ի պահպանումը CONNECT հարցումում
Օգտագործեք libcurl-ի առանձին պրոքսի վերնագրերի ինտերֆեյսը մատակարարի կողմից սահմանված CONNECT մուտքի համար՝ նպատակակետի cookie-ն որպես պրոքսի նույնականացում դիտարկելու փոխարեն։
Որոշ պրոքսի արտադրանքներ սահմանում են մուտքի հոսք, որը cookie կամ token է տրամադրում հետագա պրոքսի հարցումների համար։ Եթե այդ token-ը պետք է հայտնվի 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-ում, իսկ նպատակակետի ցանկը՝ հաստատված թունելի ներսում հարցումում։ Այսպիսով պրոքսին ստանում է մատակարարի token-ը՝ առանց այն կայքի cookie դառնալու։ Այս բաժանումը լռելյայն է libcurl 7.42.1-ից սկսած․ բացահայտ ընտրանքը տեսանելի է դարձնում նախատեսված վարքը։
Բրաուզերի cookie-ների պահոցը այլ մեխանիզմ է
libcurl-ի cookie-ների շարժիչը միացնելը կամ նպատակակետի համար cookie սահմանելը ինքնաբերաբար չի վերարտադրում բրաուզերի սեփական պրոքսի մուտքի հոսքը։ CONNECT-ը տեղի է ունենում նպատակակետի HTTPS փոխանակումից առաջ։ Որոշեք արտադրանքի իրական պահանջները՝ փոխարենը յուրաքանչյուր հարցումում գրավված կայքի cookie պատճենելու։
Եթե պրոքսին օգտագործում է ստանդարտ HTTP պրոքսի նույնականացում, ապա փոխարենը օգտագործեք libcurl-ի պրոքսի հավատարմագրերն ու աջակցվող նույնականացման ընտրանքները։ Proxy-Authenticate-ով 407-ը տարբեր արձանագրություն է, քան սեսիայի token վերադարձնող HTML մուտքի էջը։
Սահմանափակեք token-ը իր պրոքսի վերջնակետով և նախատեսված կյանքի տևողությամբ։ Այլ միջնորդի անցնելիս փոխարինեք վերնագրերի ցանկը՝ որպես այդ կազմաձևման փոփոխության մաս։ Ընդհանուր հարցման վերնագրերի ցանկը վատ տեղ է միայն մեկ պրոքսիին պատկանող գաղտնիքի համար։