HTML::Mason
フォームを含む Web ページを提供するために使用しています。フォームに入力して送信するときに、リモート クライアントの IP アドレスを知りたいです。
印刷してみまし$r->headers_in
たが、
Apache2::Request=SCALAR(0x1961ba0)->headers_in
間違った引数を使用していますか?
HTML::Mason
フォームを含む Web ページを提供するために使用しています。フォームに入力して送信するときに、リモート クライアントの 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;
});