Առանձնացրեք libcurl-ի պրոքսի վերնագրերը կայքի վերնագրերից
Տվեք libcurl-ին առանձին պրոքսի և նպատակակետի վերնագրերի ցանկեր՝ միաժամանակ գիտակցելով, որ բաց տեքստով փոխանցումն ունի տեսանելիության այլ սահման։
Գոյություն ունեցող libcurl բռնակի համար բացահայտորեն առանձնացրեք նպատակակետի և պրոքսի վերնագրերի ցանկերը՝
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); Փոխանցման ընթացքում կենդանի պահեք կարգավորված բռնակը և վավեր ցանկերը։ CURLHEADER_SEPARATE տարբերում է CONNECT-ում օգտագործվող վերնագրերը նպատակակետի հարցման համար օգտագործվող վերնագրերից։ Հին միասնական քաղաքականության օրինակները կարող են սովորական ցանկը դնել երկու փոխանակումներում էլ։
| Հարցման ուղի | Առանձին ցանկերի իմաստը |
|---|---|
| HTTPS սովորական CONNECT թունելի ներսում | Սկզբում գալիս է պրոքսի փոխանակումը, ապա նպատակակետի HTTP վերնագրերը հաջորդում են նպատակակետի TLS-ի ներսում։ |
| Սովորական HTTP փոխանցում | Պրոքսը կարող է կարդալ նպատակակետի վերնագրերը, և libcurl-ը կարող է օգտագործել երկու համապատասխան ցանկերն էլ մեկ փոխանցված հարցման մեջ։ |
Միայն պրոքսիին պատկանող երթուղային նշիչը տեղ ունի պրոքսի փոխանակման մեջ։ Բաց տեքստով փոխանցման դեպքում կամայական հարմարեցված դաշտը կարող է հասնել սկզբնաղբյուրին, եթե փոխանցման կարգավորումը չկառավարի այն. տարբերակի անվանումը գաղտնիության երաշխիք չէ։
Նույնականացման համար օգտագործեք աջակցվող հավատարմագրերի տարբերակներ։ Օպերատորի սահմանած մետատվյալների համար պարզեք, թե որ թռիչքն է սպառում դրանք և արդյոք դրանք կարող են փոխանցվել՝ ընդհանուր դաշտում գաղտնաբառ դնելու փոխարեն։
Երբ նշիչը բացակայում է կամ թվում է, թե արտահոսում է, նույնականացրեք այն պարունակող իրական հարցումը։ Մի քանի փոխանակում ցուցադրող վերնագրի հետկանչը կարող է ճիշտ առանձնացված ցանկերը խառնված թվալ։