au by KDDI EZfactory
閉じる


ユーザーエージェント判別CGI (サンプル)

#!/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();


Copyright © KDDI CORPORATION. All Rights Reserved.