Linux
Reply Return

หัวข้อ : ใช้ perl เขียน connect html ครับ

ข้อความว่า
ชื่อ: dksafj
ส่งมาเมื่อวันที่ : 20 มีนาคม,2002 at 17:54:46 [ ด้วย IP : 202.28.164.201 ]
หัวข้อ : ใช้ perl เขียน connect html ครับ
ด้วยข้อความที่ว่า:
#!/usr/bin/perl

use IO::Socket;
use Net::hostent;

my (
$mremote, $host, $port, $domain,$dbfile,$html,
@dbold,@dbnew
);

$port = "80";
$dbfile = "/usr/local/squidGuard/db/porn";

open(fp , "dbfile");
@dbold = ;
close(fp);

foreach $domain (@dbold) {
chop($domain);
&mconnect;
&mget;
$html = &mread;
if ($html =~ /^HTTP 200 OK/) {
push(@dbnew,"$domain\n");
}
&mdisconnect;
}
print fp @dbnew;


#for connect
sub mconnect {
print "Start";
$remote_host = $domain;
$remote_port = $port;
$mremote = IO::Socket::INET->new(
Proto => "tcp",
PeerAddr => "www.$remote_host",
PeerPort => "$remote_port"
);
unless ($mremote) {
print "Connection error.\n";
print "can't connect to $remote_host : $remote_port";
die;
}
$mremote->autoflush(1);
print "connection ok : $remote_host";
}
#####

#for disconnect
sub mdisconnect {
close $mremote;
}
#####

#for GET html
sub mget {
print $mremote "GET / HTTP/1.0\n\n";
}
#####

#for read html
sub mread {
do {
$remote_read = ;
$remote_tmp = $remote_tmp . $remote_read;
} while ($remote_read ne "");
return $remote_tmp;
}
#####
ผมเขียนอย่างนี้อะครับ แต่มันยังทำงานไม่ได้เลย ผมจะ ดึง url จาก database อะครับ ในนั้นมี รุปแบบดังนี้
20vcd.com
10.22.45.63
sex.com
ผมต้องใส่ www. เข้าไปข้างหน้า database ที่รับมาด้วยอะครับ แล้วทีนี้จะ check ได้อย่างไรครับว่ามันเป็น ip ไม่ต้องใส่ www. ข้างหน้าอะครับ
แล้วทำไงให้มัน connect ไป Get html มาได้อะครับ รบกวนด้วย


ท่านผู้รู้ กรุณาช่วยตอบวิธีแก้ปัญหาให้หน่อยครับ ขอบคุณมากครับ :

ชื่อ :
E-Mail :
หัวข้อ :
ข้อความว่า :