使用 Perl 实现 HTTP 代理
浏览:2898次 出处信息
一台开发的服务器,没有连接外网的权限,但内一网段内有一台机器可以连接外网,不想做路由和搞个 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
建议继续学习:
- 让安卓手机通过代理翻墙的方法 (阅读:7159)
- 关于 SOCKS 代理的远端 DNS 解析 (阅读:6421)
- 代理的加密部分 (阅读:4520)
- HTTP 正向代理与反向代理 (阅读:3904)
- 关于不得不在python中使用代理访问网络的方法 (阅读:3752)
- nginx.conf控制指定的代理ip和ip访问的设置手记 (阅读:3494)
- 关于http代理 (阅读:3324)
- socks5代理服务器的配置 (阅读:2899)
- 代理的本地部分 (阅读:2830)
- 代理的远程部分 (阅读:2590)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:Perl 的线程中的锁
文章信息
- 作者:扶凯 来源: 扶凯
- 标签: 代理
- 发布时间:2011-06-10 14:06:39
建议继续学习
近3天十大热文
- [55] IOS安全–浅谈关于IOS加固的几种方法
- [54] 图书馆的世界纪录
- [54] 如何拿下简短的域名
- [54] android 开发入门
- [52] Go Reflect 性能
- [52] Oracle MTS模式下 进程地址与会话信
- [49] 【社会化设计】自我(self)部分――欢迎区
- [48] 读书笔记-壹百度:百度十年千倍的29条法则
- [41] 程序员技术练级攻略
- [35] 视觉调整-设计师 vs. 逻辑