CGIでの環境変数

■CGIでの環境変数


CGIでは、$ENV の名前の連想配列に環境変数が格納されています
環境変数を読み出すには、$ENV{要素名} のようにします。
以下ではCGIで使用する主な環境変数をサーバーから取得して出力しています。


▼ブラウザが対応しているContent-typeの一覧、全てに対応する場合は */* が入る

$ENV{HTTP_ACCEPT} = */*

▼ブラウザが対応しているエンコード方式

$ENV{HTTP_ACCEPT_ENCODING} = gzip, br, zstd, deflate

▼ブラウザが使用できる言語

$ENV{HTTP_ACCEPT_LANGUAGE} =

▼ブラウザの接続方式

$ENV{HTTP_CONNECTION} =

▼ブラウザから送信されたクッキー

$ENV{HTTP_COOKIE} =

▼このCGIの呼び出し元のアドレス

$ENV{HTTP_REFERER} =

▼ブラウザの種類

$ENV{HTTP_USER_AGENT} = Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)

▼エンコードされた入力データ
URLでデータを入力すると値が格納されます。URLに aaa=bbb というデータを入力

$ENV{QUERY_STRING} =

▼呼び出し元のホスト名

$ENV{REMOTE_HOST} = ec2-18-219-12-88.us-east-2.compute.amazonaws.com

▼呼び出し元のIPアドレス

$ENV{REMOTE_ADDR} = 18.219.12.88

▼ブラウザがMETHODで指定したデータ取得手段

$ENV{REQUEST_METHOD} = GET

▼ブラウザから送られてきた要求のURI

$ENV{REQUEST_URI} = /Perl/env.cgi

▼CGIスクリプト名

$ENV{SCRIPT_NAME} = /Perl/env.cgi

▼POSTで送信されたデータ (標準入力から読み出します)

read (STDIN, $data, $ENV{'CONTENT_LENGTH'})
$data =






▼POSTで送信されたデータを切り出して連想配列に入れる

my @list = split(/&/, $data);
my @arry = ();
foreach (@list) {
my @mylist;
@mylist = split(/=/, $_);
$arry{$mylist[0]}=$mylist[1];
}

$arry{'text1'} =
$arry{'text2'} =


▲トップページ > perl 関連