変数名 | 説明 |
---|---|
以下環境変数 | |
string gCONTENT_LENGTH | フォームからCGIプログラムへ送られてきたデータのバイト数 |
string gCONTENT_TYPE | フォームからのデータのMIME形式の情報 |
string gHTTP_CLIENT_IP | プロキシサーバーを利用しているクライアントIPアドレス |
string gHTTP_COOKIE | クライアントからCGIプログラムへ送られてきたクッキーの生データ |
string gHTTP_FORM | クライアントに設定されてるメールアドレス |
string gHTTP_HOST | サーバのホスト名 |
string gHTTP_REFERER | リンク元アドレス |
string gHTTP_USER_AGENT | 利用OSやクライアントの名前、バージョン情報 |
string gQUERY_STRING | GETメソッド時の文字列 |
string gREMOTE_ADDR | クライアントのIPアドレス |
string gREMOTE_HOST | クライアントのホスト名 |
string gREQUEST_METHOD | 要求方法(POST/GET) |
string gSCRIPT_NAME | CGIスクリプト名 |
string gSERVER_ADDR | サーバーのIPアドレス |
string gSERVER_NAME | サーバー名 |
string gTZ | サーバ時計の設定地域 |
以下、C++ for CGIが用意する特別な変数 | |
map <string,string> gRequest; | 環境変数、クッキー、CGI変数を格納した配列 gRequest["key"]として利用 |
map <string,string> gEnv; | 環境変数を格納した配列 gEnv["key"]として利用 |
map <string,string> gCookie; | クッキーを格納した配列 gCookie["key"]として利用 |
map <string,string> gCGI; | CGI変数を格納した配列 gCGI["key"]として利用 |
map <string,string> gConf; | #configureで指定された初期設定ファイルの内容 gConf["key"]として利用 |
string gAPP_PATH; | CGIプログラムのフルパス |
string gAppName; | CGIプログラムの名前 |
string gCGI_STRING; | CGI(POST/GET)の生データ、分解もURLデコードもしていない |
グローバル変数、gCGI , gEnv , gCookie , gConf は、map <string, string>
で定義されています。gRequest はそれらすべてを合わせたものです。これらの変数
は、name=value の形で与えられていますので、gRequest["name"]=value の形で保
存されています。したがって、string str = gRequest["name"];で値を取り出すこ
とができます。
gRequest は天下り変数を作るために、C++ for CGI が内部で
利用していますが、利用価値があると思われるのでグローバル変数として提供して
います。
gRequest , gCGI , gEnv , gCookie , gConf に名前が定義されているかどうかを 調べるために、次のような文で検査したくなります。
//この方法では、nameという名前の変数があるかわからない if(gCGI["name"] != "") { .....しかし、これらのグローバル変数は map と定義されていますので、gCGI["name"] とした時点で、name という key が生成されます。したがって、この方法で名前が 定義されているか検査することはできません。間違いやすいので注意してください。
gRequestに格納される順番は、