Запрос передаёт прокси. Какие cookie места назначения отправит клиент, решает движок cookie PHP cURL. Настройте и то и другое на дескрипторе, выполняющем передачу. Список HTTP-прокси даёт кандидатов для маршрута, когда эта задача может использовать публичных посредников:

curl_setopt($handle, CURLOPT_PROXY, 'http://203.0.113.10:8080');
curl_setopt($handle, CURLOPT_COOKIEFILE, '');

Пустое значение COOKIEFILE включает движок cookie без загрузки начального файла cookie. Последующие запросы на этом дескрипторе могут отправлять подходящие cookie, полученные от места назначения.

Чтобы состояние сохранялось между отдельно созданными дескрипторами или процессами, используйте осознанно выбранную политику файла cookie. COOKIEFILE читает cookie; COOKIEJAR записывает cookie, которые сохраняет libcurl. Указание пути для COOKIEJAR не означает, что он также читается.

Держите файлы cookie раздельно в соответствии с сеансом или учётной записью, которые предполагает приложение. Общий файл, используемый параллельными задачами, может смешивать состояние независимо от того, какой прокси выбирает каждая задача. Защищайте файл, потому что сеансовый cookie может дать доступ, хотя и не помечен как пароль.

Если рабочий процесс требует записать текущее состояние cookie перед очисткой, изучите документированные команды cookie в libcurl. Не полагайтесь на вызов curl_close из устаревшего примера PHP как на единственное объяснение того, когда состояние записывается.

Изменённый IP прокси оставляет политику cookie нетронутой, если приложение её не меняет. Диагностируйте отклонённый сеанс как ответ места назначения, а не исходите из того, что прокси обязан помнить вход.

Похожие статьи