|
|
|
|
|
|
2. |
環境変数 |
|
|
|
|
|
|
|
|
通常、CGIプログラムはメソッドにかかわらず環境変数を参照して処理を行います。 |
|
|
|
HTTPサーバーはCGIプログラムを呼び出す都度、環境変数を構築し直します。 |
|
|
|
AS/400のHTTPサーバーが提供する環境変数は以下の通りです。 |
|
|
|
|
|
|
|
|
|
環境変数 |
内容 |
例 |
QUERY_STRING |
フォームから入力された値 |
NAMAE=ABCD&JUSHO=XXX |
SERVER_NEME |
サーバーのホスト名か、IPアドレスかDNS別名 |
as400.softrm.jp |
SERVER_PORT |
要求が送られたポート名 |
80 |
REQUEST_METHOD |
要求メソッド |
GET |
SCRIPT_NAME |
実行されるプログラムのパス名 |
/cgi-bin/UN101 |
REMOTE_HOST |
要求を発行したホスト名 |
costar.softrm.jp |
REMORT_ADDR |
要求を発行したホストのIPアドレス |
|
CONTENT_TYPE |
POSTのように追加情報をもつ場合はデータの内容の形式を表す |
|
CONTENT_LENGTH |
データの長さ(POSTの場合) |
|
IBM_CCSID_VALUE |
サーバー・ジョブのCCSID |
|
|
|
|
|
|
|
|
|
メソッド=GETの場合、環境変数「QUERY_STRING」にフォームの入力値が入るので、CGIプログラムはこれを読み込んで処理を行います。 |
|
|
|
「QUERY_STRING」の内容はフォームから入力されたままでなく、特殊な形式にエンコードされています。 |
|
|
|
|
|
|
|
|
フォームの入力 |
|
|
|
|
123ABCabcアイウ漢字 +&=? |
|
|
|
|
|
|
|
|
|
FLD=123ABCabc%B1%B2%B3%8A%BF%8E%9A+%2B%26%3D%3F |
|
|
|
|
環境変数「QUERY_STRING」 |
|
|
|
|
|
|
|
|
@ |
フィールドが複数ある場合、『&』が区切り文字として使われいます。 |
|
|
|
A |
使用される文字は7ビットASCIIのみで、8ビットコード(カタカナや漢字など)、制御文字、特殊文字は「%」の後に2桁の16進数文字を付けた形式です。 |
|
|
|
B |
スペース(空白)は「+」に変換します。 |
|
|
|
|
|
|
|
|
/ |
メソッド=POSTの場合,フォームの入力値は標準入力として渡されるので、環境変数『QUERY_STRING』は空値です。 |
|
|
|
/ |
CGIプログラムは最初に環境変数『CONTENT_LENGTH』を読み取り、その長さだけ標準入力からフォームの入力値を読み取ります。 |
|
|
|
|
|
|
|
|
|
サポートするAPI |
|
|
|
|
APIのタイプ |
IRERPG |
環境変数の取得 |
QtmhGetEnv |
標準入力の読み取り |
QtmhRdStin |
標準出力への書き出し |
QtmhWrStout |
CGI入力の解析 |
QtmhCvtDb |
|
|
|
|
|
|
|