"Perl и работа с сокетами"
сервере http//www.f2s.com (хотя он поддерживает это). заранее спасибо.
В примере дана не cgi-ха. Для того, чтобы вызывать этот скрипт как cgi - надо его доработать.
вот он:
---
#!/usr/bin/perl
use Socket;
$host="perl.ru";
$port="80";
socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp'));
$iaddr = inet_aton($host);
$paddr = sockaddr_in($port, $iaddr);
connect(SOCK, $paddr);
send (SOCK, "GET / HTTP/1.0\n\n", 0);
@data=<SOCK>;
close(SOCK);
print "Content-Type: text/html\n\n";
print "<html>\n<body>\n---\n";
print "@data\n";
print "---\n</body>\n</html>";
б) после connect сделай:
select(SOCK); $|=1; select(STDOUT);
Так работает, так, как ты написал - не пашет (у меня в частности)
как все делать написано в хелпе прилагаемом к активперлу ..
Цитата:
On 2002-03-12 0723, Anonymous wrote
a) AF_INET а не PF_INET
б) после connect сделай
select(SOCK); $|=1; select(STDOUT);
Так работает, так, как ты написал - не пашет (у меня в частности)
А ОНО И ВПРАВДУ НЕ РАБОТАЕТ!!!(((((
ДАЖЕ ПОСЛЕ ТОГО КАК Я ПЕРЕДЕЛАЛ ЕТУ ПРОГУ КАК ПОДСКАЗАЛИ!!!
НУ КТО НИБУДЬ НУ ПОКАЖИТЕ ЖЕ РАБОЧИЙ ВАРИАНТ!!!
ПЛИЗЗЗЗЗ.......
use Socket;
$proto = getprotobyname('tcp');
socket(Socket_Handle, PF_INET, SOCK_STREAM, $proto);
$port = 80;
$host = "victim.com";
$sin = sockaddr_in($port,inet_aton($host));
connect(Socket_Handle,$sin);
send Socket_Handle,"GET /cgi-bin/env.cgi?param1=val1¶m2=val2 HTTP/1.0n",0;
send Socket_Handle,"Referer any referer you wishn",0;
send Socket_Handle,"User Agent my agentn",0;
send Socket_Handle,"n",0;
while (<Socket_Handle>)
{
print $_;
}
// http//www.sp1r1tual.com
[ Это Сообщение было отредактировано Joker в 2002-08-22 2206 ]