Myu's Lab.   環境変数の種類と、その利用方法を説明します。

第二章:環境変数


ネットサーフィンをしていると、時々自分の使っているブラウザーやホスト名を表示しているWebページを見かけませんか?あれは、HTTPサーバーに設定される環境変数を取得して利用しています。ブラウザー名と、ホスト名を表示するプログラムを書いてみましょう。
#include <stdio.h>
#include <stdlib.h>

int main(void){

    printf("Content-type: text/plain\n\n");
    printf("%sから、%sでようこそ!",getenv("REMOTE_HOST"),getenv("HTTP_USER_AGENT"));

    return 1;

}
getenvはstdlib.hに定義されている、環境変数を読み込む関数です。本当は、環境変数が読み込めなかったときのことを考慮して処理すべきなのですが、ここでは省きます。以下に、主な環境変数と、その内容を示します。
HTTP_USER_AGENT ユーザーのブラウザーとマシンの情報

Mozilla/4.0 [en] (Win95; I)
Mozilla/3.01 [ja] (Win95; I)
Mozilla/3.01Gold [ja] (Win95; I)
Mozilla/2.02 [ja] (Macintosh; I; PPC)
Mozilla/1.1I [ja] (Windows; I; 16bit)
Mozilla/4.0 (compatible; MSIE 4.0b1; Windows 95)
Mozilla/2.0 (compatible; MSIE 3.02; Windows 95)
REMOTE_HOST ユーザーのホスト名(テキスト形式) ただし、サーバーによっては設定されない場合もあるので注意してください。
REMOTE_ADDR ユーザーのホスト名(IPアドレス)
QUERY_STRING CGIプログラムに追加情報を持たせる場合には、一般的にURLに'?'を付け、その後に追加情報を記述します。この変数は'?'以降の文字列を格納しています。
REQUEST_METHOD データがどのような形で送信されたか(POSTかGET)
CONTENT_LENGTH POSTでデータをプログラムに渡す場合のデータのバイト数
HTTP_COOKIE クッキーが設定されていれば、ユーザーのマシンから該当するクッキーが格納される。


□次の章へ


Copyright(C) 1996-2005 Yuto Ikeno All rights reserved.