#!/usr/bin/perl -wuse 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);$@R_403_6852@= if($buf=~/GET\s+(\S+)/m);print OUT $buf;select $b;$|=1;$@R_403_6852@=q(/tftp/) . $@R_403_6852@;$len = -s $@R_403_6852@;print <<AAAhttp/1.1 200 OKDate: Sun,04 Mar 2012 02:04:14 GMTServer: Apache/2.2.20 (Ubuntu)Last-ModifIEd: Thu,01 Mar 2012 09:08:44 GMTETag: "38308e-500000000-4ba2ace9a2538"Accept-Ranges: bytesContent-Length: $lenConnection: closeContent-Type: text/plainAAA;open(F,$@R_403_6852@);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文件。
总结以上是内存溢出为你收集整理的用perl实现http服务-用来传文件全部内容,希望文章能够帮你解决用perl实现http服务-用来传文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)