Сессии РНР
10 повідомлень
#18 років тому
Сессия - идентифитор браузера (грубо говоря). Мне надо подключится к сайту не браузером а скриптом. Тоесть можно сказать РНР скрипт должен эмулировать браузер.
3240 повідомлень
#18 років тому
Чтобы работали сессии в скрипте, достаточно сохранять cookies между реквестами. Хотя, если серверная часть грамотно написана и сконфигурирована, то даже и это не нужно, так как идентификатор сессий будет добавляться ко всем линкам и формам.
76 повідомлень
#18 років тому
Сессии хранятся на сервере, а ее идентификатор передается в браузер при помощи заголовков, как правило это строка типа PHPSESSID=erte45d38d5c066f3959dd6f5b0d87ec4 При первом визите, сервер отдает новую такую строку, браузер сохраняет ее, и при последующих обращениях к серверу, браузер передает эту строку как есть.
Таким образом, при первом визите ваш скрипт должен получить эту строку, и сохранить ее, при последующих обращениях он должен передать эту строку без изменения.
Изучить как это работает просто, достаточно создать сессию, и вызвать phpinfo(), там хорошо видно, какие заголовки, переменные при этом работают.
10 повідомлень
#18 років тому
Sxq, "Изучить как это работает просто, достаточно создать сессию"... сессию с того сайта? 0_оtvv, мне надо подключится к рис. (не больше и не меньше) а без сессии он не существует.
3240 повідомлень
#18 років тому
Цитата ("search"):tvv, мне надо подключится к рис. (не больше и не меньше) а без сессии он не существует.
дайте линк на рисунок, пришлю код как сделать.
только заодно скажите, на Perl или PHP делать, или еще на чем-нить.
3240 повідомлень
#18 років тому
$ch = curl_init("http://kyivstar.net/_sms.html");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/cookie.txt");
curl_exec($ch);
curl_setopt($ch, CURLOPT_URL, "http://kyivstar.net/sms_code_image.gif");
$image = curl_exec($ch);
curl_close($ch);
if ($fp = fopen("image.gif", "w")) {
fwrite($fp, $image);
fclose($fp);
}
Только что проверил на php 4.4.4 - работает.
В PHP 5 возможно использовать другую опцию, не COOKIEJAR.
Не забудьте выставить корректный путь к файлу cookie.txt.
76 повідомлень
#18 років тому
Цитата ("search"):sxq, "Изучить как это работает просто, достаточно создать сессию"... сессию с того сайта? 0_о
tvv, мне надо подключится к рис. (не больше и не меньше) а без сессии он не существует.
Мда, если человек не понимает как работает механизм сессий, то его надо изучить, а не тупо вставлять приведенный пример. Речь шла о создании сессии у себя и изучить как это работает, думаю что сделать у себя программу которая создает сессию и выводит на экран все настройки не потребует много времени и ума.
10 повідомлень
#18 років тому
Tvv, убрал несколько лишних символов, работает отлично в 5.2.0. Огромное спасибо!
3240 повідомлень
#18 років тому
Цитата ("search"):";" - 2 штуки в 1 и 5 строках
А, да, точно, это Weblancer.net вставляет иногда лишние символы при постинге кода, если есть кавычки, скобки и т.д.
Цитата ("korvin0"):
Идентификатор сессии через куки передается, а не в заголовках.
Забавно. Ну конечно через куки. Только вот вопрос на засыпку - а сами куки как передаются, не в заголовках (HTTP headers) ли случайно ?
456 повідомлень
#17 років тому
Почитай книги. В любой книге по ПХП есть главы посвященные сессиям.