Автор Тема: perl и proxy сервера?  (Прочитано 4612 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн scainen

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
perl и proxy сервера?
« : 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 сервер ?
что дописать ? где исправить? Или можно по-другому сделать ?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
The documentations is your friend

Оффлайн Kannabismus

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 18
  • +0/-0
  • 0
    • Просмотр профиля
    • http://

Оффлайн cr4ck3r

  • Фанат Perl
  • Постоялец
  • ***
  • Сообщений: 146
  • +0/-0
  • 2
    • Просмотр профиля
    • http://perlmonks.org.ru
perl и proxy сервера?
« Ответ #3 : 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 - perlmonks.org.ru

Оффлайн xames

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 62
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
perl и proxy сервера?
« Ответ #4 : 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;

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28