PDA

Просмотр полной версии : CURL


Al-DoZoR
28.02.2010, 22:02
Есть сайт мне необходимо авторизоваться на этом сайте и когда я буду авторизованным нажать некую ссылку, как мне это сделать по средствам curl


$url= "URL=http://name.ru/?login&name=SergP&password=5656&world=12"; // данные для авторизации
$ch = curl_init ();
curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1');
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'user_cookie_file.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'user_cookie_file.txt');
curl_setopt($ch, CURLOPT_URL, 'http://name.ru/?buildup&pos=11&id=85');
return curl_exec($ch);
curl_close($ch);


Что сдесь с куками не так?? .

Подскажите кто чем может...

Kusto
28.02.2010, 22:11
function curl($url,$post)
{
$cfile = 'cookies.txt';
.
.
.
curl_setopt($ch, CURLOPT_COOKIEFILE,$cfile);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cfile );
};

Al-DoZoR
28.02.2010, 22:14
function curl($url,$post)
{
$cfile = 'cookies.txt';
.
.
.
curl_setopt($ch, CURLOPT_COOKIEFILE,$cfile);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cfile );
};


А имитирование нажатие ссылки
это или тут что то другое должно использоватьсяcurl_setopt($ch, CURLOPT_URL, 'http://name.ru/?buildup&pos=11&id=85');

Kusto
28.02.2010, 22:20
смотри- вот подходит к большинству


function curl($url,$post)
{
$cfile = 'cookies.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1. Gecko/20100202 Firefox/3.5.8");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cfile);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cfile);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}

$a=curl ("рефер","ссылка авторизации");//авторизировались
echo $a //проверим авторизировались или нет
$b=curl ("рефер","ссылка которую нажимаем");//нажали на ссылку

echo $b //проверим переход по ссылке
P.S. Как-то так
P.P.S Ты хоть снифаеш в каком виде и как отправляються данные на сервер и что он требует при подключении к нему?

Al-DoZoR
28.02.2010, 22:25
смотри- вот подходит к большинству


function curl($url,$post)
{
$cfile = 'cookies.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1. Gecko/20100202 Firefox/3.5.8");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cfile);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cfile);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}

$a=curl ("рефер","ссылка авторизации");//авторизировались
$b=curl ("рефер","ссылка которую нажимаем");//нажали на ссылку



P.S. Как-то так
P.P.S Ты хоть снифаеш в каком виде и как отправляються данные на сервер и что он требует при подключении к нему?
Да снифаю, погоди 5 сек проверю все......

Al-DoZoR
28.02.2010, 22:28
Слушай не пойму, что по реффером понимаешь???
Извини если уже тупые вопросы задаю=(((

Kusto
28.02.2010, 22:36
а как ты снифаеш?))) refer - откуда пришол на данную страницу

Compton
28.02.2010, 22:40
первый раз вижу авторизацию в адресе О_о
сделай через форму и не ломай мозги
типа такого

<?php
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, 'адрес с формами');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,'имена форм и что в них тыкать');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt');
$result=curl_exec($ch);
curl_setopt($ch, CURLOPT_URL, 'адрес,где надо быть уже авторизованным');
curl_setopt($ch, CURLOPT_RETURNTRANSFER. 1);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
$result=curl_exec($ch);
curl_close($ch);
echo $result;
?>

Kusto
28.02.2010, 22:49
короче- я чувствую что не так снифаеш))) обьясняю браузер мозила-инструменты-просмотр НТТР заголовков авторизируешся- смотриш отчет- найдеш там и что сервак требует от клиента и что ты на сервак отправляеш (там и рефер найдеш :D ), затем очистить все - кликаеш на ссылку и снова смотриш что записываеться в просмотре НТТР заголовков

Al-DoZoR
28.02.2010, 23:01
короче- я чувствую что не так снифаеш))) обьясняю браузер мозила-инструменты-просмотр НТТР заголовков авторизируешся- смотриш отчет- найдеш там и что сервак требует от клиента и что ты на сервак отправляеш (там и рефер найдеш :D ), затем очистить все - кликаеш на ссылку и снова смотриш что записываеться в просмотре НТТР заголовков


Нету у меня там HTTP заголовков, я через перехват данных смотреллл

Compton
28.02.2010, 23:05
charles

Al-DoZoR
28.02.2010, 23:09
Имя заголовка запросп
Host=
User-Agent=
Accept=
Accept-Language=r
Accept-Encoding=
Accept-Charset=
Keep-Alive=
Connection=
Referer=
Cookie=


Имя заголовка ответа
Status=Moved temporarily - 302
Date=Sun, 28 Feb 2010 19:05:33 GMT
Server=Apache/2.2.14 (Win32)
Set-Cookie=sessionId_=383_3128704597;expires=Fri, 31-Dec-2021 23:59:59 GMT
Location=
Cache-Control=max-age=0
Expires=Sun, 28 Feb 2010 19:05:33 GMT
Content-Length=0
Keep-Alive=timeout=5, max=100
Connection=
Content-Type=

Al-DoZoR
28.02.2010, 23:10
charles
Им я вобще не представляю как пользоваться=((

Compton
28.02.2010, 23:12
что там не уметь?
запускай,иди в браузер по умолчанию,делай там все это дело и смотри!

Al-DoZoR
28.02.2010, 23:16
Warning: curl_setopt() expects exactly 3 parameters, 2 given in Z:\home\curl.ru\www\index.php on line 10
454 ms

Al-DoZoR
28.02.2010, 23:17
что там не уметь?
запускай,иди в браузер по умолчанию,делай там все это дело и смотри!


Он не запускаеться... чет то с JAVA требуе :mad: т....

Compton
28.02.2010, 23:18
дай сайт и акк я те сам накатать попробую

Al-DoZoR
28.02.2010, 23:43
дай сайт и акк я те сам накатать попробую
В личку отправил...

Compton
28.02.2010, 23:57
<?php
$login='имя';
$password='пароль';
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://wofh.ru/?login');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,'login='.$login.'&password='.$password.'&world=w3.wofh.ru');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'Z:\home\localhost\www\cookies.txt');
curl_setopt($ch, CURLOPT_URL, 'http://w3.wofh.ru/?login&name=ololo1&password=ololo');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,'name='.$login.'&password='.$password.'');
$result=curl_exec($ch);
curl_setopt($ch, CURLOPT_URL, 'http://w3.wofh.ru/?town');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'Z:\home\localhost\www\cookies.txt');
$result=curl_exec($ch);
curl_close($ch);
echo $result;
?>

писанины пять минут

Al-DoZoR
01.03.2010, 00:07
<?php
$login='имя';
$password='пароль';
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://wofh.ru/?login');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,'login='.$login.'&password='.$password.'&world=w3.wofh.ru');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'Z:\home\localhost\www\cookies.txt');
curl_setopt($ch, CURLOPT_URL, 'http://w3.wofh.ru/?login&name=ololo1&password=ololo');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,'name='.$login.'&password='.$password.'');
$result=curl_exec($ch);
curl_setopt($ch, CURLOPT_URL, 'http://w3.wofh.ru/?town');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'Z:\home\localhost\www\cookies.txt');
$result=curl_exec($ch);
curl_close($ch);
echo $result;
?>

писанины пять минут


Огромное спасибо!!!