
05.07.2006, 00:35
|
|
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме: 5887054
Репутация:
1292
|
|
Накатал на скорую руку.
Код:
#!/usr/bin/perl
use IO::Socket;
use Thread;
$serv = "president.yandex.ru";
$page = 'question.xml?id=208372';
$n=$mycount=0;
open(PROXY, 'ElseProxy.txt');
PROXY->autoflush(1);
STDOUT->autoflush(1);
for($nn=0;$nn<256;$nn++){ Thread->new(\&start_sub) }
while($mycount<256){ sleep(1) };
close(PROXY);
sub start_sub(){
local($proxy,$s,$buf,$url);
while($proxy=<PROXY>){TRY:{
$s = IO::Socket::INET->new(PeerAddr=>$proxy)||next;
print $s <<HTTP;
GET http://$serv/$page HTTP/1.1
Host: $serv
User-Agent: MSIE
Connection: close
HTTP
read($s,$buf,0xfffff);
close($s);
if(($url)=$buf=~/window\.location\.href\s*\=\s*\'(http\:\/\/bs\.yandex\.ru\/count\/[^\']+)/i){
$n++;
print "$n - $url\n";
$s = IO::Socket::INET->new(PeerAddr=>$proxy);
print $s <<HTTP;
GET $url HTTP/1.1
Host: bs.yandex.ru
Referer: http://$serv/$page
User-Agent: MSIE
Connection: close
HTTP
close($s);
}
}}
$mycount++;
}
Последний раз редактировалось hidden; 05.07.2006 в 01:14..
Причина: Ускорил
|
|
|