
07.06.2009, 14:37
|
|
Участник форума
Регистрация: 05.04.2007
Сообщений: 150
Провел на форуме: 771228
Репутация:
77
|
|
PHP код:
if(!isset($_POST['captcha']))
{
### Заходим на сайт и получаем капчу
$ch = curl_init('http://mirtesen.ru/login');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
$res = curl_exec($ch);
curl_close($ch);
### Получаем код для картинки
preg_match('#<img src="http://mirtesen.ru/captcha/login?(.*?)"#i', $res, $match_capt);
### Получаем куки
preg_match_all('|Set-Cookie: (.*);|U', $res, $results);
$cookies = implode(';', $results[1]);
### Показываем капчу
echo '<img src="http://mirtesen.ru/captcha/login'.$match_capt[1].'" alt="">
<p><form name="spam" action="index.php" method="POST">
<input type="text" name="captcha">
<input type="submit" value ="Ok"></form>';
}
### Отправляем обратно капчу/логин/пассворд
if(isset($_POST['captcha'])){
$ch = curl_init('http://mirtesen.ru/login');
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'auth%5Bbackurl%5D=http%3A%2F%2Fmirtesen.ru%2F&auth%5Blogin%5D=LOGIN%40mail.ru&auth%5Bpassword%5D=PASSWORD&auth%5Bcaptcha%5D='.trim($_POST['captcha']).'&auth%5Bremember%5D=on');
curl_setopt($ch, CURLOPT_COOKIE, $cookies);
$res = curl_exec($ch);
curl_close($ch);
}
т.е если скрипту не передаются данные из формы - выводит капчу и окошко для ввода,
если передаются - отправляет
|
|
|