用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文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值