※このサンプルの解説は、「CGI(Perl)の解説」をすべて読み終えてる方を前提としています。

■ 携帯電話のキャリア別ジャンプ

前回「携帯電話のキャリア別を取得」を解説しましたので、今回はそれを少しアレンジして「携帯電話のキャリア別ジャンプ」を作成してみましょう。
今回の変更点は、「Javascriptサンプル」などでも解説した「ページの自動ジャンプ」をヒアドキュメントで組み込むことです。

この処理を理解するには当然ですが、「HTML」の知識が必要になります。
解からない方は「HTMLの解説」で勉強してくださいね。

【 解    説 】

まず、前回の「携帯電話のキャリア別を取得」でキャリア別の取得はできるようになりましたから、それを使用してその変数をそのままファイル名に使用します。
前回の「$str0」を使用してそれと同じ「HTMLの」ページを作っていればそのページのファイル名は次のような記述で表すことができます。
$jmpurl = "$str0.html";

HTMLサンプル」で解説した「ページの自動ジャンプ」を次のようにヒアドキュメントで記述する方法もありますが、「meta」タグが携帯電話では認識できませんでした。
print << "END_OF_DOC"; <HTML> <HEAD> <META http-equiv="refresh" content="0; url=$jmpurl"> <title>urljump</title> </HEAD> <BODY> </BODY> </HTML> END_OF_DOC

そこで今回のようにPerlを使用して、次のような記述でページジャンプをさせます。
print "Location: //beginners.atompro.net/\n"; print "\n";

では、上記の内容を使用して「携帯電話のキャリア別ジャンプ」を作成してみます。

【記述サンプル】
#!/usr/bin/perl $agent = $ENV{'HTTP_USER_AGENT'}; $str0 = "pc"; if ($agent =~ "DoCoMo"){ $str0 = "docomo"; } if ($agent =~ "J-PHONE"){ $str0 = "jphone"; } if ($agent =~ "UP.Browser"){ $str0 = "ezweb"; } $jmpurl = "//beginners.atompro.net/$str0.html"; print "Location: $jmpurl\n"; exit();
◆実行結果について

上記のサンプルを「agejmp.cgi」という名前で保存して実行してみてください。

実行結果はこちらをクリックしてください。
なお、実行結果については、各々のサーバーの環境、ユーザーの環境にによって内容は変わってきます。


page update:2019/01/09 19:55

Copyright (c) 2000-2009, all Rights Reserved & Produced by atom