Giữ cookie proxy trên yêu cầu CONNECT
Dùng giao diện tiêu đề proxy riêng của libcurl cho đăng nhập CONNECT do nhà cung cấp định nghĩa, thay vì coi cookie đích là xác thực proxy.
Một số sản phẩm proxy định nghĩa luồng đăng nhập cung cấp cookie hoặc token cho các yêu cầu proxy tiếp theo. Nếu token đó phải xuất hiện trên CONNECT, hãy giữ nó tách biệt khỏi cookie dành cho trang web bên trong đường hầm.
libcurl cung cấp một danh sách tiêu đề tùy chỉnh riêng cho proxy. Trong một ứng dụng C đã khởi tạo, đoạn cấu hình có thể trông như sau:
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);Điều này chỉ phù hợp khi giao thức đăng nhập được ghi chép của proxy yêu cầu tiêu đề đó. Kiểm tra kết quả cấp phát và tùy chọn trong mã xung quanh, giữ danh sách cho đến khi quá trình truyền hoàn tất, sau đó xóa hoặc thay con trỏ của handle trước khi giải phóng danh sách.
Với việc xử lý tiêu đề riêng, libcurl gửi danh sách proxy trên CONNECT và danh sách đích trên yêu cầu bên trong đường hầm đã thiết lập. Nhờ đó proxy nhận token của nhà cung cấp mà token đó không trở thành cookie của trang web. Sự tách biệt này là mặc định từ libcurl 7.42.1; tùy chọn tường minh làm hành vi dự định trở nên rõ ràng.
Hũ cookie của trình duyệt là một cơ chế khác
Bật công cụ cookie của libcurl hoặc đặt cookie cho đích không tự động tái tạo luồng đăng nhập proxy riêng của trình duyệt. CONNECT diễn ra trước khi trao đổi HTTPS với đích. Xác định các yêu cầu thực tế của sản phẩm thay vì sao chép cookie trang bị bắt vào mọi yêu cầu.
Nếu proxy dùng xác thực proxy HTTP tiêu chuẩn, hãy dùng thông tin đăng nhập proxy của libcurl và các tùy chọn xác thực được hỗ trợ. 407 với Proxy-Authenticate là giao thức khác với trang đăng nhập HTML trả về token phiên.
Giữ token trong phạm vi điểm cuối proxy và thời hạn dự định của nó. Khi chuyển sang một trung gian khác, hãy thay danh sách tiêu đề như một phần của thay đổi cấu hình đó. Danh sách tiêu đề yêu cầu chung là nơi tồi để đặt bí mật chỉ thuộc về một proxy.