Поэтому я использую cURL для получения данных со страницы 1, извлекаю информацию из нее и сохраняю ее в массиве. Следующий шаг - загрузить следующую страницу, я делаю это, создавая новый cURL с тем же файлом cookiejar и файлом cookie. Я правильно вижу страницу 1, но страницы 2 отображаются: сеанс не найден. Возможно, сессия истекло. Посмотрев информацию заголовка, я вижу, что на странице 1 он устанавливает cookie WCOOKIE = rd244o00000000000000000000ffff912c10f5o80.
В заголовках страницы 2 он устанавливает cookie WCOOKIE = rd244o00000000000000000000ffff912c10f6o80.
Так вот почему он считает, что сеанс истек, он не загружает файл cookie, но страница пытается его переписать. Итак, мой вопрос: что я должен сделать, чтобы страница 2 загружала cookie, заданную на странице 1, вместо того, чтобы пытаться установить новый файл cookie?PHP cURL Сессия не найдена/сессия, возможно, истек
Дополнительная информация: Загрузка двух страниц происходит в одном файле (1.php), потому что мне нужно хранить как данные в массиве 1, так и файл cookie со страницы 1, чтобы иметь возможность запрашивать страницу 2.
Обе страницы настроены на использование заголовков:
$headers[] = "Accept: */*";
$headers[] = "Connection: Keep-Alive";
$headers[] = "Content-type: application/x-www-form-urlencoded;charset=UTF-8";
Загрузка страницы 1:
$cSession = curl_init();
$tmpfname = dirname(__FILE__).'/cookie.txt';
curl_setopt($cSession, CURLOPT_COOKIEJAR, $tmpfname);
curl_setopt($cSession, CURLOPT_COOKIEFILE, $tmpfname);
curl_setopt($cSession, CURLOPT_HTTPHEADER, $headers);
curl_setopt ($cSession, CURLOPT_COOKIESESSION, TRUE);
Загрузка страницы 2:
$ch = curl_init();
$tmpfname = dirname(__FILE__).'/cookie.txt';
curl_setopt($ch, CURLOPT_COOKIEJAR, $tmpfname);
curl_setopt($ch, CURLOPT_COOKIEFILE, $tmpfname);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt ($ch, CURLOPT_COOKIESESSION, TRUE);
Это еще не все настройки, но я предполагаю, что мне нужно что-то изменить в этих строках, если вам нужна дополнительная информация, дайте мне знать, и я опубликую их.
Помогите оценить: