Охотник за аськами или "О, могучий, Google!" 0. INTRO В интернете полно сервисов с раздачой icq. Многие шлют на icq на почту. Сейчас напишем php-скрипт для получения асек. Для эксперимента я взял сервис: http://pux.su/icq/ Для мыла будем юзать asdasd.ru. Его чудо в том, что, если перейти по ссылке: http://asdasd.ru/?u=chtoto Мы автоматически будем читать почту для [email protected]. 1. Инструменты 1) Любой текстовой редактор 2) http://google.ru для вопросов 2. Начнем. Сбор инфы Перейдя по ссылке: http://pux.su/icq/ видим одну форму "Ваш e-mail:" Смотрим исходник страницы: HTML: <form action="index.php" method="POST"> Ваш e-mail: <br /> <input type="text" name="mail" /> <br /> <br /> <input type="hidden" name="act" value="send" /> <input type="submit" value=" Получить " /> </form> Из этого следует, что нужно передать POST-ом act = send, mail = [email protected] на index.php Попробуем получить асью, вводим [email protected] Видим: UIN отправлен на Ваш e-mail Проверяем почту: http://asdasd.ru/?u=luboeslovo Видим: Ура! Асья пришла, но открывать сообщение не спешим Смотрим исходный код, нас интересует только эта строка: HTML: <td class="subj" onclick="location.href='/read/2935057?u=luboeslovo'; return false;"><div><div><a href="/read/2935057?u=luboeslovo">pux.su - Раздача ICQ</a></div></div></td> Это адрес сообщения с асьей, куда мы и перейдем. В глаза сразу попадается(это и нужно спарсить): Опять же смотрим исходник: HTML: --------------------<br /> UIN: 558443096<br /> Пароль: 82IZpcGQ<br /> --------------------<br /> <br /> Информации для старта предостаточно! 3. Реализация Первым делом, конечно, нужно сгенерировать адрес мыла. Поэтому взял генератор паролей PHP: /* Для мыла */ $sim="qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP"; //символы $max=10; //длина $size=StrLen($sim)-1; $user=null; while($max--) $user.=$sim[rand(0,$size)]; $pref = "@asdasd.ru"; $mylo = $user.$pref; //готовый [email protected] /*---------*/ Теперь его надо передать на сайт POST-запросом. Для этого юзаем функцию на cURL: PHP: /* Функция отправки запроса */ function make_http_post_request($url, $post, $ssl = false, $headers = '', $uagent = '') { if (empty($url)) { return false; } $_post = Array(); if (is_array($post)) { foreach ($post as $name => $value) { $_post[] = $name.'='.urlencode($value); } } $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); if (is_array($post)) { curl_setopt($ch, CURLOPT_POSTFIELDS, join('&', $_post)); } if (is_array($headers)) { curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); } if (!empty($uagent)) { curl_setopt($ch, CURLOPT_USERAGENT, $uagent); } $result = curl_exec($ch); if (curl_errno($ch) != 0 && empty($result)) { $result = false; } curl_close($ch); return $result; } /*---------*/ Функция готова, ну чтож, передаем мыло: PHP: /* Запрос для отправки ICQ на мыло */ $post = Array('mail' => $mylo, 'act' => 'send'); //вот почему смотрели исходник в самом начале ;) $headers = Array(); $headers[] = "Content-type: application/x-www-form-urlencoded"; $content = make_http_post_request('http://pux.su/icq/index.php', $post, false, $headers, 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)'); //передача /*--------------------------*/ Отлично! Осталось ждать прихода e-mail, делается это через sleep(); После парсим id сообщения(помните исходники?): PHP: sleep(5); // ждем 5 сек прихода e-mail /* Заходим в почту, колдуем */ $pochta = file_get_contents("http://asdasd.ru/?u=".$user); preg_match("#read(.*?)?u=#si", $pochta, $matches); // парсим id сбщ с icq //print $matches[1]; // выводим id сообщения с icq /*-------------------------*/ Тут немного говнокода... и самое главное - получение uin и pass PHP: /* Получаем сбщ с ICQ */ $sep ="u="; // мой говнокод.start $domain = "http://asdasd.ru/read"; $urlmsg = $domain.$matches[1]; $final = file_get_contents($urlmsg.$sep.$user); // мой говнокод.end /* Вывод ICQ */ preg_match("#UIN(.*?)-----#si", $final, $match); //парсим UIN и пасс. У меня на денвере были траблы с кодировкой, решил строчкой ниже. $uin=str_replace("Пароль","Password",$match[0]); //замена кракозябра echo $uin; //святая строка =) /*-------------------------*/ Весь код: http://pastebin.com/VaRFSTRy Скрин результата: 4. Нюансы ICQ дается людям с уник. IP. С денвера на 1 ip прошло 3-4 акка. Можно прикрутить proxies.txt и сохранять результат в текстовик. Но это защита от дурака, например от меня 5. OUTRO Статья писалась человеком, который на 99% не знаком с php Юзал гугл, поэтому "О, могучий, Google!". Спасибо... (c) Ereee
Да всё гуд, для практики в каком нить ЯПе такие релизы самое то... Думаю именно этим ТС и занимается...