Увімкнення cookie у дескрипторі PHP cURL, що використовує проксі
Зберігайте cookie місця призначення в рушії cookie PHP cURL, налаштовуючи маршрут проксі окремо.
Запит передає проксі. Які 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 недоторканою, якщо застосунок її не змінює. Діагностуйте відхилений сеанс як відповідь місця призначення, а не виходьте з того, що проксі має пам'ятати вхід.