use CGI;
my $remoteip = $ENV{"REMOTE_ADDR"}; --> 客户端IP地址
my $remoteport = $ENV{"REMOTE_PORT"}; --> 端口
my $http_via = $ENV{"HTTP_VIA"}; --> VIA头部
可以根据下面方式,查看整个http头部内容:
my $ua = LWP::UserAgent->new();
$ua->timeout(30);
#$ua->proxy(['http'], "http://$proxyAddr");
my $req = HTTP::Request->new( GET => $url);
$req->header(@header);
#print(Dumper($req)."\n");
my $response = $ua->request($req);
print($response->decoded_content()); #将打印下面的内容
<!DOCTYPE html>
<html>
<header>
<title>????</title>
<meta http-equiv=Content-Type content=text/html; charset=utf8>
</header>
<body> 1
HTTP_VIA===>1.1 RD2:3128 (squid/2.7.STABLE7)
HTTP_ACCEPT_CHARSET===>utf-8, iso-8859-1, utf-16, *;q=0.7
PATH===>/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
CONTEXT_DOCUMENT_ROOT===>/usr/lib/cgi-bin/
SERVER_SOFTWARE===>Apache/2.4.7 (Ubuntu)
REMOTE_PORT===>40843
MOD_PERL_API_VERSION===>2
SERVER_ADMIN===>webmaster@localhost
REQUEST_URI===>/cgi-bin/check.pl?uid=1
HTTP_X_REQUESTED_WITH===>com.android.browser
SERVER_SIGNATURE===><address>Apache/2.4.7 (Ubuntu) Server at 104.5.10.13 Port 80</address>
HTTP_ACCEPT===>text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
SCRIPT_NAME===>/cgi-bin/check.pl
SERVER_NAME===>104.5.10.13
GATEWAY_INTERFACE===>CGI/1.1
HTTP_CONNECTION===>keep-alive
SERVER_ADDR===>104.5.10.13
REQUEST_SCHEME===>http
QUERY_STRING===>uid=1
SERVER_PORT===>80
HTTP_HOST===>104.5.10.13
REQUEST_METHOD===>GET
SCRIPT_FILENAME===>/usr/lib/cgi-bin/check.pl
HTTP_CACHE_CONTROL===>max-age=0
CONTEXT_PREFIX===>/cgi-bin/
DOCUMENT_ROOT===>/var/www/html
HTTP_X_FORWARDED_FOR===>106.6.6.104
HTTP_USER_AGENT===>Mozilla/5.0 (Linux; U; Android 4.4.4; zh-cn; HM NOTE 1LTE Build/KTU84P)
REMOTE_ADDR===>58.22.61.211
SERVER_PROTOCOL===>HTTP/1.0
MOD_PERL===>mod_perl/2.0.8
IP===>58.22.61.211
Type===>PUBLIC
IS_PROXY===>TRUE1.1 RD2:3128 (squid/2.7.STABLE7) </body>
</html>
可以通过HTTP_VIA(是否存在)或者IS_PROXY(是否包含TRUE)来判断客户端是否使用了代理来。
相关推荐
用perl实现的获取eth0 ip地址的方法,主要是打开ifconfig读取信息,然后用正则表达式来匹配,从而获取到ip地址,比较简单。
PERL编写的TCP服务器与客户端,很简单,一看就懂。
在Perl下编写CGI程序的扩展模块
本书以生动活泼的口吻详细介绍了Perl-CGI编程技术及如何利用Perl语言编写CGI应用程序,并借此创建动态Web页面。全书着重介绍了Perl语言在Web领域的应用。作者不是枯燥地讲述语言规范,而是通过大量实例由浅入深地...
使用Perl语言编写的微信客户端框架,基于Mojolicious,要求Perl版本5.10.1+,可通过插件提供基于HTTP协议的api接口供其他语言或系统调用 插件列表 名称 优先级 当前状态 github作者 功能说明 -----------------...
附件的perl包可以将ip地址解析为地理位置,使用的是QQWry本地库,解析准确率很高,更新QQWry即可实现解析信息的更新。 安装附件的包需要一些依赖条件。
神奇的perl-最佳PERL入门教程与CGI编程_使用Perl的PDF版本,入门perl很好的资料
perl cgi 编程学习资料,适合初学者学习使用
用perl编写CGI程序
由于PERL在最初是UNIX下的工具,现在虽然PERL已经移植到流行的平台上:WINDOWS系统,但是运用起来却是有哪么一点差别,这一点需要引起我们的注意。
Perl CGI 轻松进阶(PDG)
CGI Programming with Perl, 2nd Edition CGI Programming with Perl, 2nd Edition CGI Programming with Perl, 2nd Edition CGI Programming with Perl, 2nd Edition CGI Programming with Perl, 2nd Edition CGI ...
是学习CGI很基础的资料 对于初学者来说是本不错的学习参考
第一天 1.1 Unix环境 1.2 chmod命令 1.3 定位Perl和sendmail 第二天 2.1 使用Emacs 2.2 Perl简介 ...5.1 留言板CGI代码 5.2 代码详解 5.3 读取log文件 第六天 6.1 设置口令 6.2 计数器
Perl_CGI六天入门 第一天 1.1 Unix环境 1.2 chmod命令 1.3 定位Perl和sendmail 第二天 2.1 使用Emacs 2.2 Perl简介 2.3 HTML FORM 第三天 3.1 回应脚本 3.2 脚本解释 3.3 BODY部分 第四天 4.1...
关于 perl CGI 的一个实例,适合初学者,使用的时候需要安装好服务器。
这是PERL编程的上一页,我们正在处理中,将那里的所有书籍都转换为新页面。 请再次检查此页面!!!
本人整理的关于perl CGI.pm 的使用方法,共初学者使用
perl-CGI-SpeedyCGI-2.22-4.el4.i386
epub,mobi高清电子版的哦,包含了perl的cgi资料所有