Автор Тема: Socket  (Прочитано 3334 раз)

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

Оффлайн DNK

  • Banned
  • Новичок
  • *
  • Сообщений: 12
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Socket
« : 26 Марта 2006, 16:05:30 »
Вот написал скрипт:
#!/usr/bin/perl
use IO::Socket;

open(OUT,">adres.txt");
$begin=153235;
$end=153400;
for ($i=$begin;$i<=$begin+5;$i++)
{
   if ($pid=fork())
   {
      push(@forked,$pid);
   }
   else
   {
      geting($i);
      exit;
   }
}
killall();

################################################
sub geting
{
   $id=$_[0];
   $socket = IO::Socket::INET->new(PeerAddr => \'***.***.***.***\',
                                    PeerPort => \'80\',
                                    Proto    => \'tcp\');
    print $socket "GET /put/k/skript.jsp?id=$id HTTP/1.1\\r\\n";
    print $socket "Host: host\\r\\n";
    print $socket "Authorization: Basic dXNlcnBhc3M=\\r\\n\\r\\n";
    $socket->recv($answer,1024);
    print OUT $answer;
}
################################################
sub killall
{
    foreach $pid (@forked)
    {
      chomp;
        waitpid($pid,0);
      kill("TERM" => $pid)
    }
    undef @forked;
}
################################################

Но почему то в файл ответы серва записывались не полностью. Увеличение получаемых байтов не помогло.
($socket->recv($answer,2048);)
в чем проблема, всем спасибо

Оффлайн Алан

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 31
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alanrin.com
Socket
« Ответ #1 : 27 Марта 2006, 14:02:12 »
use LWP::UserAgent;
my $ua = new LWP::UserAgent;

my $response = $ua->get("http://***.***.***.***/put/k/skript.jsp?id=$id");

if( $response->is_success ) {
     print $response->content;
} else {
     die $response->status_line;
}

 

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