 |
|

24.02.2008, 16:17
|
|
Banned
Регистрация: 22.08.2006
Сообщений: 608
Провел на форуме: 6144796
Репутация:
1095
|
|
$p01nt
>> $url = '?????????????';
>> $content = get $url;
вот это не понял к чему.. раз начал использовать io::socket, то юзай его и дальше..
получаешь ответ своего пост-запроса:
$sock->recv($content, 400);
и глядишь в $content нужные заголовки..
|
|
|

24.02.2008, 23:18
|
|
Постоянный
Регистрация: 03.08.2007
Сообщений: 367
Провел на форуме: 876216
Репутация:
209
|
|
$p01nt: Нужный тебе заголовок Location:
|
|
|

25.02.2008, 23:20
|
|
Участник форума
Регистрация: 19.02.2008
Сообщений: 186
Провел на форуме: 584540
Репутация:
96
|
|
и опять я  вообщем теперь вопрос по парсингу странички .
document.forms.auth.action="http://******.ru/au/authen.phtml?u=случайное значение &s=&i=0.0&a_cd=случайное значение";
надо вытащить u=случайное значение &s=&i=0.0&a_cd=случайное значение
получается только http://****.ru/au/authen.phtml?u=*****&s=&i=0.0&a_cd=******
юзаю @mass=$content =~ m/document.forms.auth.action="(\S+)"/i;
|
|
|

26.02.2008, 00:19
|
|
Banned
Регистрация: 28.01.2008
Сообщений: 18
Провел на форуме: 233275
Репутация:
14
|
|
http://www.codenet.ru/webmast/perl/regex.php читать до просвятления
|
|
|

26.02.2008, 01:37
|
|
Banned
Регистрация: 06.06.2006
Сообщений: 944
Провел на форуме: 3986705
Репутация:
1403
|
|
Если тебе нужно получить только строку:
u=СТРОКА&s=&i=0.0&a_cd=СТРОКА
То вот тебе скрипт:
PHP код:
#!/usr/bin/perl
use Socket;
$host="www_САЙТ_ru"; #Замени на нужный тебе (Я уже знаю, какой тебе нужен и уже его проверил ) ^^
$port="80";
socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp'));
$iaddr = inet_aton($host);
$paddr = sockaddr_in($port, $iaddr);
connect(SOCK, $paddr);
$header = "GET /index.phtml HTTP/1.0\r\n"
."User-Agent: Opera/10.84 (Windows NT 5.1; U; ru)\r\n"
."Host: $host\r\n"
."Referer: http://chicks-for-hackers.com/\r\n"
."Proxy-Connection: close\r\n"
."Content-type: application/x-www-form-urlencoded\r\n\r\n";
send (SOCK, $header, 0);
@data=<SOCK>;
close(SOCK);
$size = @data;
for ($i=0;$i<$size;$i++) {
$str=@data[$i];
if ($str =~m/document.forms.auth.action/) { #Обрабатываем ответ, выдираем строчки, которые соответсвуютт шаблону
@parse = split("[?]",$str); #Разделяем строчку, тоесть в первый элемент массива parse будет строка до вопросительного знака, а второй элемент после, то что нам нужно
$out = @parse_need[1]; #Тут наша строка + 4 символа - "; и два пробельных
$out = substr($out,0, length($out)-4); #Убираем 4 последних символа
print $out; #Выводим результат
exit; #Завершаем работу скрипта, т.к. другие строчки нас не интересуют
}
}
|
|
|

26.02.2008, 01:58
|
|
Banned
Регистрация: 22.08.2006
Сообщений: 608
Провел на форуме: 6144796
Репутация:
1095
|
|
Код:
print $2 if $content =~ m|document.forms.auth.action="http://******.ru/au/authen.phtml?u=(.*?)&s=&i=0.0&a_cd=(.*?)";|;
|
|
|

26.02.2008, 02:09
|
|
Banned
Регистрация: 06.06.2006
Сообщений: 944
Провел на форуме: 3986705
Репутация:
1403
|
|
Мде Digimortal
Привиди полный скрипт
+ Почему у тебя Вопросительный знак в голом виде?
Последний раз редактировалось bul.666; 26.02.2008 в 02:17..
|
|
|

26.02.2008, 02:37
|
|
Banned
Регистрация: 22.08.2006
Сообщений: 608
Провел на форуме: 6144796
Репутация:
1095
|
|
Сообщение от bul.666
Мде Digimortal
Привиди полный скрипт
Код:
$content = '
lalala
qwerty;
ssss
aaaa;
dddd;
xcvxcvxcvdocument.forms.auth.action="http://123.ru/au/authen.phtml?u=lalala&s=&i=0.0&a_cd=123abc";
lalala
hekihekiheki
';
print $1, ' ', $2 if $content =~ m|document\.forms\.auth\.action=\"http://123\.ru/au/authen\.phtml\?u=(.*?)\&s=\&i=0\.0\&a_cd=(.*?)\";|;
Последний раз редактировалось Digimortal; 26.02.2008 в 02:52..
Причина: одел раздетые спецсомволы.. =/
|
|
|

26.02.2008, 02:58
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме: 5128756
Репутация:
2032
|
|
что лучше юзать, Lwp, сокеты или еще что-то?
|
|
|

26.02.2008, 03:04
|
|
Banned
Регистрация: 28.01.2008
Сообщений: 18
Провел на форуме: 233275
Репутация:
14
|
|
если тебе нужно работать с http или ftp протколом то LWP наиболее удобен, для всего остального сокеты (либо соответствующие модули которых на cpan.org полно), а больше ничего и нет 8)
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|