Общие вопросы по Curl

Статус
В этой теме нельзя размещать новые ответы.

proWoke

Новичок
Общие вопросы по Curl

Изучаю сейчас библиотеку Curl. У меня такой вопросы появились.
Для наглядности моих вопросов я выложу код:
PHP:
<?
$ch = curl_init('http://php.su/forum/loginout.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (бла бла бла..) "); 
$headers = array
(
    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*;q=0.8',
    'Accept-Language: ru,en-us;q=0.7,en;q=0.3',
    'Accept-Encoding: deflate',
    'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'
); 
curl_setopt($ch, CURLOPT_HTTPHEADER,$headers); 
curl_setopt($ch, CURLOPT_REFERER, "http://php.su/forum/loginout.php");
curl_setopt($ch, CURLOPT_POSTFIELDS, 'action=login&imembername=vasia&ipassword=332&submit=%C2%F5%EE%E4');
curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt");  
curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");  
$result = curl_exec($ch); 
curl_close($ch);
?>
Вот на сайте, на котором я читал этот урок написанно, что в документе my_cookies.txt должны лежать данные, которые имитируют куки и посылают запросы сайту. А какие запросы там не сказанно, мы вроде и так посылаем их в этой строчке curl_setopt($ch, CURLOPT_HTTPHEADER,$headers); . И второй вопрос, а что должно вообще произойти после этого скрипта? Ну т.е. я понимаю теоритически, что он делает. Он имитирует браузер, вводит данные в форму и жмёт кнопку. Ну а потом я думал я должен зайти на сайт под нужным мне аккаунтом, ан нет, у меня пустое окно в браузере и как заполнить файл
my_cookies.txt я тоже не понял. Помогите мне знания получить:).
 

tz-lom

Продвинутый новичок
стоит ознакомиться с тем что такое COOKIES
в общих чертах это несколько переменных которые управляются как браузером так и сервером
при запросе браузер отсылает их на сервер,а сервер в свою очередь в ответе отсылает новые значения кук браузеру
когда ты делаешь запрос курлом кука изначально может быть пустой,сервер сам выставит её значения в те которые ему нужны,и если это допустим была форма авторизации то курл будет авторизован,и если следующий запрос будет обращаться к привилегированному контенту и ты не забудешь отослать куку,то запрос будет завершён успешно

когда же ты заходишь на сайт браузером,браузер отправляет свою куку,которая с курлом не синхронизированна,и естественно сервер не считает что браузер это курл
 

proWoke

Новичок
Те должен быть создан уже файл my_cookies.txt и туда запишуться куки,которые мне отошлёт сервер? Ну а как мне понять ввелись ли данные в форму и авторизировался мой скрипт или нет? Если у меня просто белый экран в браузере
 

tz-lom

Продвинутый новичок
сделать ещё один запрос при помощи CURL передав выставленные куки,ну и из ответа определить считает ли сервер тебя залогиненым или нет
 

proWoke

Новичок
Вот я не могу понять, я когда запускаю этот скрипт, то у меня в браузере выводится абракадабра с кодировкой, если в браузере меняю какие, то всё равно абракадабра. Я в строчке
curl_setopt($ch, CURLOPT_POSTFIELDS, 'action=login&imembername=vasia&ipassword=332&submit=%C2%F5%EE%E4'); ввожу уже реальные свои логин и пароль, я правильно делаю?. И как мне победить абракадабру, я даже не знаю, что мне там выводится должно, но пару каких то слов выводится.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху