使用 Perl 实现 HTTP 代理
浏览:2957次 出处信息
一台开发的服务器,没有连接外网的权限,但内一网段内有一台机器可以连接外网,不想做路由和搞个 SQUID ,所以直接使用 Perl 来做了一个小的 Web 代理,最简单的实现这个功能。
这样在内部的那台开发服务器,也能使用 cpanm 来安装模块了。
我在想下面这个代理服务器,是不是世界上代码最少的代理服务器。有空可以加强一下,支持存取在本地的文件,支持 cookie,
use strict; use warnings; use Plack::Builder; use Plack::Response; use Plack::Request; use LWP::UserAgent; use Data::Dumper; my $ua = LWP::UserAgent->new; my $app = builder { sub { my $url = shift; my $req = Plack::Request->new($url); my $ua_res = $ua->get($req->request_uri); my $res = Plack::Response->new($ua_res->code); $res->headers($ua_res->headers); $res->body($ua_res->content); return $res->finalize; }; };
使用也非常简单,启动代理
$ plackup -p 80 proxy.pl
cpanm 是使用的 wget 下载,所以我们修改一下 wget 的代理地址
编辑.wgetrc 这个文件加入如下
http_proxy = http://x.x.x.x:80 ftp_proxy = http://x.x.x.x:80 use_proxy = on wait = 5
建议继续学习:
- 让安卓手机通过代理翻墙的方法 (阅读:7362)
- 关于 SOCKS 代理的远端 DNS 解析 (阅读:6623)
- 代理的加密部分 (阅读:7238)
- HTTP 正向代理与反向代理 (阅读:4031)
- 关于不得不在python中使用代理访问网络的方法 (阅读:3913)
- nginx.conf控制指定的代理ip和ip访问的设置手记 (阅读:3687)
- 关于http代理 (阅读:3475)
- socks5代理服务器的配置 (阅读:3022)
- 代理的本地部分 (阅读:2961)
- 代理的远程部分 (阅读:2722)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:Perl 的线程中的锁
文章信息
- 作者:扶凯 来源: 扶凯
- 标签: 代理
- 发布时间:2011-06-10 14:06:39
建议继续学习
近3天十大热文
-
[84] memory prefetch浅析
-
[45] find命令的一点注意事项
-
[45] 基本排序算法的PHP实现
-
[34] Oracle bbed工具的编译
-
[30] 卡诺模型―设计品质与设计价值的思考
-
[26] Inline Form Labels
-
[26] 8大实用又重要Mac使用技巧
-
[26] 两行 JavaScript 代码
-
[24] 小屏幕移动设备网页设计注意事项
-
[22] JS中如何判断字符串类型的数字