CGI は環境変数というものを受け取って,ユーザの情報を知ります。 環境変数を調べる関数は getenv() です。 この関数を使うには,最初に #include <cstdlib> と宣言しておきます。
たとえば次のようにします。
#include <iostream> #include <cstdlib> using namespace std; int main() { cout << "Content-type: text/html\n\n"; char* x = getenv("HTTP_REFERER"); if (x) { cout << "<p>あなたは " << x << " から来ましたね\n"; } char* y = getenv("HTTP_USER_AGENT"); if (y) { cout << "<p>あなたのブラウザは " << y << " ですね\n"; } char* z = getenv("HTTP_ACCEPT_LANGUAGE"); if (z) { cout << "<p>あなたの読める言語は " << z << " ですね\n"; } }
最後の例では ja が日本語,en が英語です。 これを使えばあいさつを変えることができます。
#include <iostream> #include <cstdlib> #include <cstring> using namespace std; int main() { cout << "Content-type: text/html\n\n"; char* z = getenv("HTTP_ACCEPT_LANGUAGE"); if (z && strncmp(z, "ja", 2) == 0) { cout << "<p>こんにちは\n"; } else { cout << "<p>Hello.\n"; } }
リンクはご自由にどうぞ。
松阪大学 奥村晴彦 okumura@matsusaka-u.ac.jp
Last modified: Thu Dec 16 22:45:43 1999