Есть сайт мне необходимо авторизоваться на этом сайте и когда я буду авторизованным нажать некую ссылку, как мне это сделать по средствам 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); Что сдесь с куками не так?? . Подскажите кто чем может...
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');
смотри- вот подходит к большинству 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 Ты хоть снифаеш в каком виде и как отправляються данные на сервер и что он требует при подключении к нему?
первый раз вижу авторизацию в адресе О_о сделай через форму и не ломай мозги типа такого PHP: <?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; ?>
короче- я чувствую что не так снифаеш))) обьясняю браузер мозила-инструменты-просмотр НТТР заголовков авторизируешся- смотриш отчет- найдеш там и что сервак требует от клиента и что ты на сервак отправляеш (там и рефер найдеш ), затем очистить все - кликаеш на ссылку и снова смотриш что записываеться в просмотре НТТР заголовков
Имя заголовка запросп 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=
Warning: curl_setopt() expects exactly 3 parameters, 2 given in Z:\home\curl.ru\www\index.php on line 10 454 ms
PHP: <?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; ?> писанины пять минут