Новичок
![](./im/images/pips1.gif)
Покинул форум
Сообщений всего: 52
Дата рег-ции: Янв. 2012
Откуда: Омск, Россия
Помог: 0 раз(а)
![](./templates/InvisionExBB/im/spacer.gif)
|
попробовал сделать так:
PHP:
скопировать код в буфер обмена
<?PHP include 's_http.php'; $curl = new s_http(); $curl -> init(); //отправляем запрос if(isset($_POST['code'])) { if($curl -> post('http://audance.ru/register', 'mod=register&sconfirm=0&user=ЛОГИНemail=МЫЛО&fuser=ЛОГИН&gender=male&birthday_day=28&birthday_mounth=7&birthday_year=1986&pwd1=ПАРОЛЬ&pwd2=ПАРОЛЬ&code='. $_POST['code'] .'&agb=1')) { echo $curl -> data(); }else echo $curl -> error(); } //выводим картинку echo '<img src="http://audance.ru/captcha" /> <form action="" method="post"> <input type="text" name="code" /> <input type="submit" value="Submit" /> </form> '; ?>
Содержимое s_http.php:
PHP:
скопировать код в буфер обмена
<?PHP /************************************************ * s_http - samborsky_http * * Упрощенный класс для работы с http протоколом на базе * библиотеки curl * * Версия: 1.02 * Начало работ: 06.05.2008 * *************************************************/ class s_http{ // Хендл private $curl = NULL; // Последний урл var $url; // Последняя POST DATA var $post_data; // Скачанные данные var $data; // User Agent var $user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8'; // String: Последняя ошибка var $error; var $referer; /*** * Инициализация */ function init(){ if( !$this->curl ){ return; } $this->set_opt(CURLOPT_RETURNTRANSFER,true); $this->set_opt(CURLOPT_CONNECTTIMEOUT,30); $this->set_opt(CURLOPT_USERAGENT,$this->user_agent); $this->set_opt(CURLOPT_HEADER,false); $this->set_opt(CURLOPT_ENCODING,'gzip,deflate'); $this->set_opt(CURLOPT_FOLLOWLOCATION,true); // Кукисы $this->set_opt(CURLOPT_COOKIESESSION,true); $this->set_opt(CURLOPT_COOKIEFILE,'cookie.txt'); // Если Referer не задан, включаем автореферер. Как в браузерах if( !empty($this->referer) ){ $this->set_opt(CURLOPT_REFERER,$this->referer); } } /*** * Деструктор */ function __destruct() { if( $this->curl ){ $this->curl = NULL; } } /*** * Последняя ошибка */ function error(){ return $this->error; } /*** * Скачанные данные в виде строки */ function data(){ return $this->data; } /*** * Внутренняя функция. Устанавливаем опцию */ private function set_opt($opt,$val){ return false; } return true; } /*** * Сохраняем скачанные данные в файл */ function to_file($name){ if( $f = fopen($name,'w') ){ return true; } else{ $this->error = 'Не удалось записать в файл. Проверьте правильность пути или права на файл.'; } return false; } /*** * Обычный GET запрос */ function get($url){ $this->url = $url; $this->error = 'Не указан URL'; return false; } $this->set_opt(CURLOPT_URL,$this->url); $this->set_opt(CURLOPT_POST,false); return $this->exec(); } /*** * https GET запрос */ function https_get($url){ $this->url = $url; $this->error = 'Не указан URL'; return false; } $this->set_opt(CURLOPT_URL,$this->url); $this->set_opt(CURLOPT_SSL_VERIFYHOST,0); $this->set_opt(CURLOPT_SSL_VERIFYPEER,false); return $this->exec(); } /*** * Внутренняя функция. Выполняет запрос */ if( false == ($this->data = curl_exec($this->curl)) ){ return false; } return true; } /*** * Обычный POST запрос */ function post($url,$post_data){ $this->url = $url; $this->post_data = $post_data; $this->error = 'Не указан URL либо POST DATA'; return false; } $this->set_opt(CURLOPT_URL,$this->url); // POST $this->set_opt(CURLOPT_POST,true); $this->set_opt(CURLOPT_POSTFIELDS,$this->post_data); return $this->exec(); } } ?>
Ничего не происходит. Регистрация не проходит. На странице, куда передаю post запрос, ничего не меняется. Как-будто я просто загружаю страницу регистрации.
Пробовал изменять url на http://audance.ru/ajax/register, не помогло.
Можете подсказать, где я ошибся? либо на словах объяснить алгоритм скрипта?
UPD.
Перехватывал данные через temper data. Из его показаний сделал следующий post запрос:
CODE ( htmlphp):
скопировать код в буфер обмена
email=МЫЛО&login=ЛОГИН&nick=ЛОГИН&gender=male&birthday_day=28&birthday_mounth=7&birthday_year=1986&passwd=ПАРОЛЬ&captcha='. $_POST['code'] .'&sconfirm=0
Но опять ничего не вышло(Отредактировано автором: 17 Марта, 2012 - 15:20:27)
|