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