Forum Webscript.Ru

Программирование => Perl => Тема начата: scainen от 18 Апреля 2006, 15:50:21

Название: perl и proxy сервера?
Отправлено: scainen от 18 Апреля 2006, 15:50:21
Вот скрипт отправляет запрос на сервер
#!/usr/bin/perl
print "Content-Type: text/html\\n\\n";
use IO::Socket;
$url = "http://ws.ru";
use LWP::UserAgent;
$ua = LWP::UserAgent->new;
$a="";
my $req = HTTP::Request->new(POST=>$url);
$req->content_type(\'application/x-www-form-urlencoded\');
$req->content("$a");
my $res = $ua->request($req);
$r=$res->content;

как сделать чтобы он отправлял этот-же запрос но через proxy сервер ?
что дописать ? где исправить? Или можно по-другому сделать ?
Название: perl и proxy сервера?
Отправлено: NeoNox от 18 Апреля 2006, 16:25:54
http://search.cpan.org/~reatmon/IO-Socket-Socks-0.1/lib/IO/Socket/Socks.pm
Название: perl и proxy сервера?
Отправлено: Kannabismus от 18 Апреля 2006, 16:36:23
http://search.cpan.org/~gaas/libwww-perl-5.805/lib/LWP/UserAgent.pm#Proxy_attributes
Название: perl и proxy сервера?
Отправлено: cr4ck3r от 19 Апреля 2006, 11:24:09
не совсем понятно зачем здесь IO::Socket?
Вот кусок одного из моих скриптов, для примера.

## Инициализируем объект UserAgent\'a
my $ua=new LWP::UserAgent;
$ua->proxy(\'http\', "http://$config->{\'proxy\'}/") if(exists $config->{\'proxy\'});# из конфигов
$ua->timeout($config->{\'timeout\'});# конфиг
$ua->agent($config->{\'agent\'});# конфиг
$ua->cookie_jar(HTTP::Cookies->new(file=>"$config->{\'cookies\'}", autosave=>1,ignore_discard=>1));# файл - из конфигов
Название: perl и proxy сервера?
Отправлено: xames от 25 Апреля 2006, 09:41:11
А если без модуля LWP то можно так:

use IO::Socket::INET;
my $sock = IO::Socket::INET->new(PeerAddr => "proxyhost:port", Timeout => 1);
send($sock,"GET http://www.google.ru/ HTTP/1.0\\r\\n\\r\\n",0);
print while <$sock>;
close $sock;