powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Принцип работы CURL в PHP - как правильно отправлять куки ?
3 сообщений из 3, страница 1 из 1
Принцип работы CURL в PHP - как правильно отправлять куки ?
    #39087987
NetScout
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, ув. форумчане !

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

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

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

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
<?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);  

?>




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

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

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


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

автор# Netscape HTTP Cookie File
# http://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 нет всех этих переменных ?
Может ли из-за отсутствия этих переменных сервер не пускать на другие страницы сайта (ведь браузер Оперу пускает) ?
...
Рейтинг: 0 / 0
Принцип работы CURL в PHP - как правильно отправлять куки ?
    #39088294
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разные переменные в куке могут быть установлены разными запросами. Как к страницам, так и к отдельным файлам или фрагментам страниц. В принципе, куки открыто передаются в заголовках, так что, можете спокойно посмотреть, откуда (с какого УРЛ) и при каких условиях (тип запроса, те или иные данные) появляется та или иная переменная.
...
Рейтинг: 0 / 0
Принцип работы CURL в PHP - как правильно отправлять куки ?
    #39088303
NetScout
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблему решил !
Оказывается, эти доп переменные создавались ява-скриптами.
Отследил путём отключения в опере поддержки ява-скрипта.

Пришлось немного отследить заголовки, которые отсылал мой скрипт благодаря опции:

Код: php
1.
2.
3.
curl_setopt($ch, CURLINFO_HEADER_OUT, 1);  
$sent_headers = curl_getinfo($ch, CURLINFO_HEADER_OUT);
echo $sent_headers;



Ну а дальше всё как обычно - сравнил заголовки которые посылает браузер серверу и сделал также )))

Всем спасибо !
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Принцип работы CURL в PHP - как правильно отправлять куки ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]