نگهداشتن کوکی پروکسی در درخواست CONNECT
برای ورود CONNECT تعریفشده توسط فروشنده، از رابط جداگانه سرصفحههای پروکسی libcurl استفاده کنید، نه اینکه کوکی مقصد را احراز هویت پروکسی بدانید.
برخی محصولات پروکسی جریان ورودی تعریف میکنند که کوکی یا توکنی برای درخواستهای بعدی پروکسی فراهم میکند. اگر آن توکن باید در CONNECT ظاهر شود، آن را از کوکیهایی که برای وبسایت داخل تونل در نظر گرفته شدهاند جدا نگه دارید.
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 و فهرست مقصد را در درخواست داخل تونل برقرارشده میفرستد. بنابراین پروکسی توکن فروشنده را دریافت میکند بدون اینکه آن توکن کوکی وبسایت شود. این جداسازی از libcurl 7.42.1 پیشفرض است؛ گزینه صریح رفتار موردنظر را آشکار میکند.
سبد کوکی مرورگر سازوکاری دیگر است
فعال کردن موتور کوکی libcurl یا تنظیم کوکی برای مقصد، جریان ورود اختصاصی پروکسی مرورگر را بهطور خودکار بازتولید نمیکند. CONNECT پیش از تبادل HTTPS با مقصد رخ میدهد. نیازهای واقعی محصول را مشخص کنید، نه اینکه کوکی ثبتشده سایت را در هر درخواست کپی کنید.
اگر پروکسی از احراز هویت استاندارد پروکسی HTTP استفاده میکند، بهجای آن از اعتبارنامههای پروکسی libcurl و گزینههای احراز هویت پشتیبانیشده استفاده کنید. 407 همراه Proxy-Authenticate پروتکلی متفاوت از صفحه ورود HTML است که توکن نشست برمیگرداند.
توکن را به نقطه پایانی پروکسی و عمر موردنظر آن محدود کنید. هنگام تغییر به واسطهای دیگر، فهرست سرصفحهها را بهعنوان بخشی از آن تغییر پیکربندی جایگزین کنید. فهرست عمومی سرصفحه درخواست جای بدی برای رازی است که فقط به یک پروکسی تعلق دارد.