@Netscout

Принцип работы CURL в PHP — как правильно отправлять и получать куки?

Здравствуйте, ув. форумчане !

Столкнулся с задачей, которую пока не могу решить и надеюсь на Ваши подсказки.

Начну сначала.

Написал скрипт:

<?php
						
			$url_first='http://www.sitename.ru/1.html';
			$url_second = 'http://www.sitename.ru/2.html';
			
			$ch = curl_init(); 
			curl_setopt($ch, CURLOPT_URL, $url_first); // set url to post to 
			curl_setopt($ch, CURLOPT_FAILONERROR, 1); 
			curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// allow redirects 
			curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable 
			curl_setopt($ch, CURLOPT_TIMEOUT, 3); // times out after 4s 
			curl_setopt($ch, CURLOPT_POST, 1); // set POST method 
			curl_setopt($ch, CURLOPT_COOKIEJAR, '1.txt');     // сохранять информацию Cookie в файл
				
				
			$result = curl_exec($ch); // run the whole process 
			
			//echo $result; 
		
				
			curl_setopt ($ch, CURLOPT_REFERER, $url_first); // Напоминаем серверу откуда пришли
			curl_setopt ($ch, CURLOPT_URL, $url_second);    // set url to post to 
			curl_setopt ($ch, CURLOPT_COOKIEFILE, '1.txt'); //Отправляем серверу куки
			
			$result = curl_exec($ch); // run the whole process 
			
			echo $result; 
			
		
			curl_close($ch);  

?>


Данный скрипт сначало заходит на страницу "www.sitename.ru/1.html" и получает куку, которую предоставляет сервер, далее он сохраняет эту куку в файл "1.txt".

Чтобы благополучно попасть на следующую страницу "www.sitename.ru/2.html" скрипт отдаёт куку обратно серверу и тот понимая, что всё ок, должен пустить на запрашиваемую страницу.

---------------------------------------
Так вот, содержимое файла 1.txt такое:


# Netscape HTTP Cookie File
# curl.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.

.sitename.com TRUE / FALSE 0 PHPSESSID plpidr5mv0bbltphrp015s7214


Всё бы хорошо, но если я захожу браузером на сайт (например Оперой), то просмотрев полученные от сервера куки вижу, что там ещё штук 10 переменных, которых нет в файле 1.txt

Вот некоторые из того, что получает Опера, но не получает КУРЛ:

Имя: __auc
Контент: ff023206150a8c346db68bc768b
Домен: .sitename.ru
Путь: /
Отправлять для: Любых подключений
Доступно для скрипта: Да
Создано: вторник, 27 октября 2015 г., 12:06:21
Истекает: четверг, 27 октября 2016 г., 13:06:21

-----------------------

Имя: __asc
Контент: ff023206150a8c346db68bc768b
Домен: .sitename.ru
Путь: /
Отправлять для: Любых подключений
Доступно для скрипта: Да
Создано: вторник, 27 октября 2015 г., 12:06:21
Истекает: вторник, 27 октября 2015 г., 12:36:21

и т.д.



Почему в файле 1.txt нет всех этих переменных ?

Может ли из-за отсутствия этих переменных сервер не пускать на другие страницы сайта (ведь браузер Оперу пускает) и если да, то как побороть ?
  • Вопрос задан
  • 1097 просмотров
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
www.telerik.com/fiddler ставь, смотри повнимательнее

куки могут ставиться и JS
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы