微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用perl实现http服务-用来传文件

#!/usr/bin/perl -w
use IO::Socket;
my $a=IO::Socket::INET->new(LocalPort=>8888,Listen=>1,ReuseAddr=>1);
*OUT=*STDOUT;
while($b=$a->accept())
{
$b->recv(my $buf,1024,0);

$file=$1 if($buf=~/GET\s+(\S+)/m);


print OUT $buf;
select $b;
$|=1;


$file=q(/tftp/) . $file;


$len = -s $file;
print <<AAA
HTTP/1.1 200 OK
Date: Sun,04 Mar 2012 02:04:14 GMT
Server: Apache/2.2.20 (Ubuntu)
Last-Modified: Thu,01 Mar 2012 09:08:44 GMT
ETag: "38308e-500000000-4ba2ace9a2538"
Accept-Ranges: bytes
Content-Length: $len
Connection: close
Content-Type: text/plain

AAA
;

open(F,$file);

while(<F>)
{
print ;
}
close F;
close $b;
}
close $a;


将 此代码写成一个http.pl,在/tftp目录下,使用perl http.pl 即可打开http服务。

此时 通过客户端就可以在浏览器输入 172.16.14.3:8888/vmlinux 即可通过http协议下载文件

在 pmon中可以用load http://172.16.14.3:8888/vmlinux即可向内存中load文件

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐