#!/usr/local/bin/perl
#*****************機種判別CGIの例*****************
#このサンプルCGIでは
#WAP2.0ブラウザ搭載端末(3000/5000シリーズ)は、HTMLのトップページ
#HDMLブラウザ搭載端末(400/300シリーズなど)は、HDMLのトップページ
#その他の端末からは、HTMLの簡易ページが表示されます。
#**************************************************
#ユーザーエージェントを変数に取り込む
$u_a = $ENV{'HTTP_USER_AGENT'};
#*****************WAP2.0かどうかの判定*****************
#"UP.Browser"という文字列が先頭位置にあるかどうかを調べる
$up_pos=index($u_a, "UP.Browser");
if($up_pos == -1)
{
#"UP.Browser"は見つからなかったので、PC/i-mode/J-SKY/etc.と判定
#EZweb以外へは、今回はユーザーエージェントを表示
$u_a_c = $u_a;
#そのままでは扱いにくいので、スラッシュを空白に置き換える
$u_a_c =~ s/\// /;
if($u_a_c =~ /^(\S+)/)
{
#先頭の文字列を代入
$kaisya=$1;
}
else
{
#出力する文字列がない場合は、"不明"を代入
$kaisya="不明";
}
#PC/i-mode/J-SKY/etc.用にホームページを用意してください。
print "Content-type: text/html; charset=Shift_JIS\n\n";
print "<html>\n";
print " <body>\n";
print " [$kaisya]でアクセスしています。<br>\n";
print " </body>\n";
print "</html>\n";
exit();
}
elsif($up_pos == 0)
{
#"UP.Browser"は先頭なので、HDMLブラウザ搭載機と判定
$lang_name="hdml";
}
else
{
#"UP.Browser"が文字列の途中に見つかったので、WAP2.0ブラウザ搭載機と判定
$lang_name="html";
}
#*****************対応するメッセージを表示*****************
if($lang_name eq "html")
{
#WAP2.0ブラウザ搭載端末なので、HTMLを表示
print "Content-type: text/html; charset=Shift_JIS\n\n";
print "<html>\n";
print " <head><title>sample</title></head>\n";
print " <body>\n";
print " <table cellspacing=\"2\">";
print " <tr><th colspan=\"2\" bgcolor=\"#ff9933\">タイトル画像を入れる</th></tr>\n";
print " <tr>\n";
print " <th bgcolor=\"#ffff66\">welcome to homepage!</th>\n";
print " <th bgcolor=\"#99ccff\"><a href=\"http://server/index.hdml\">menuへ</a></th>\n";
print " </tr>\n";
print " </table>\n";
print " </body>\n";
print "</html>\n";
}
else
{
#HDMLブラウザ搭載端末なので、HDMLを表示
print "Content-type: text/x-hdml; charset=Shift_JIS\n\n";
print "<HDML VERSION=3.0 MARKABLE=TRUE>\n";
print " <DISPLAY NAME=sample TITLE=sample>\n";
print " <CENTER>タイトル画像を入れる<BR><BR>\n";
print " <LINE>welcome to homepage!<WRAP>\n";
print " <CENTER><A TASK=GOSUB DEST=http://server/index.hdml>menuへ</A><BR>\n";
print " </DISPLAY>\n";
print "</HDML>\n";
}
#終了
exit();
|