我正在使用HTML::Mason
提供包含表单的网页。填写并提交表单后,我想知道远程客户端的 IP 地址。
我尝试打印$r->headers_in
,但我得到了
Apache2::Request=SCALAR(0x1961ba0)->headers_in
我使用了错误的论点吗?
我正在使用HTML::Mason
提供包含表单的网页。填写并提交表单后,我想知道远程客户端的 IP 地址。
我尝试打印$r->headers_in
,但我得到了
Apache2::Request=SCALAR(0x1961ba0)->headers_in
我使用了错误的论点吗?
对于 CGI 应用程序,远程 IP 地址位于$ENV{REMOTE_ADDR}
.
如果您使用的是 mod_perl,则等效值位于您的对象$r->connection->remote_ip
所在的位置。$r
Apache2::Request
如果您有双引号中的方法调用,则将生成您显示的输出,例如
print "$r->headers_in\n"
如果您删除引号,它将正常工作
print $r->headers_in, "\n"
该$r->headers_in
方法返回一个APR::Table
对象。do
您可以使用该方法和合适的子例程(必须返回1
以通过表进行迭代才能继续)转储此内容,如下所示:
my $table = $r->headers_in;
$table->do(sub {
printf "%s: %s\n", @_;
1;
});