|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : HB 2:5020/400 08 Aug 2001 14:24:22 To : All Subject : Re: Помогите с LWP !!! -------------------------------------------------------------------------------- Vlad Vasilyev wrote in <9kps2l$88n$1@host.talk.ru>... >У меня лежал на сервере скрипт, при помощи которого можно было ходить >на сайт http://www.auto.ru >Все прекрасно работало, но сегодня что-то там на www.auto.ru сделали и >попасть я туда больше не могу. Код опубликую в конце. Сделать что-либо >у меня не получилось. Может на авто.ру не пускают с этим IP(типа >X_FORWARDED или еще чего)? Может кто-нибудь попробует запустить его у >себя? Я попробовал. Работает. Попробуйте сами: http://www.ant-on.net/public/auto.ru/ Скрипт ваш я совсем незначительно изменил (см. ниже), на результат эти изменения не влияют. >#!/usr/bin/perl > >use CGI qw(:standard); >use CGI::Carp qw(fatalsToBrowser); > >#-------- parse query parameters ----------------------------- >@pairs = split(/&/, $ENV{'QUERY_STRING'}); >foreach $pair (@pairs) { > ($name, $value) = split(/=/, $pair); > $value =~ tr/+/ /; > $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; > $value =~ s/<!--(.|\n)*-->//g; > if ($allow_html != 1) { > $value =~ s/<([^>]|\n)*>//g; > } > $FORM{$name} = $value; >}#------------------------------------------------------------ > >$message = "$FORM{message}"; Вместо этой гадости под названием "parse query parameters" я написал $message = param('message'); >use LWP::UserAgent; >my $ua = new LWP::UserAgent; > $ua -> agent("Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); > >my $url = "http://www.auto.ru/wwwboards/$message"; > >$request = new HTTP::Request('GET', $url, new HTTP::Headers >('Accept_Charset'=>'cp1251')); > >$request -> header(Accept => "*/*"); >$request -> header(CONNECTION => 'Keep-Alive'); >$request -> header(ACCEPT_LANGUAGE => 'ru'); >$request -> header(ACCEPT_ENCODING => 'gzip, deflate'); >$request -> header('referer' => 'http://www.auto.ru/wwwboards'); > >my $response = $ua->request($request); > >if ($response->is_error) { > >print "Hе судьба..."; Вместо print "Hе судьба..."; print "Content-Type: text/html\n\n<h1>FAILED!</h1>\n"; > >}else{ > >print "Content-type: ".$response->content_type."\015\012\015\012"; > >print $response->content; > >} -- HB mailto:npecca@yahoo.com?subject=Usenet --- ifmail v.2.15dev5 * Origin: VoronezhSvyazInform ISP (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/630759c3580c.html, оценка из 5, голосов 10
|