i-modeの環境変数ってあるんでしょうか?

普通にブラウザーで見ているときは、たとえば「IE5」とか「ネットスケーブ」
だとかが分かりますが、

i-modeのたとえば「P503」で見ているとか、そういう情報はCGIの環境変数で入手できるのでしょうか?

よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

CGIでは環境変数としていろいろな情報が手に入りますが、あれは、


クライアントの環境変数を送っているわけではなくて、ブラウザが
送ってくる情報を、CGIのプロセスの環境変数として参照できるように
WWWサーバプログラムが用意してくれているだけです。

例えば、HTTP_USER_AGENT も i-mode だったら、それなりの値が
入ってますよ。

ただし、i-mode は携帯電話が直接クライアントではないのですが、
機種の区別までつくようです(→参考URL)。

参考URL:http://specters.net/cgipon/lab/im50.html
    • good
    • 0

i-modeで以下のページを見てみるのが一番わかりやすいと思います。



参考まで

参考URL:http://www.ugtop.com/i/spill.shtml
    • good
    • 0

大概のことはa-kuma様が書かれているので、私は


余談を・・・

i-modeであればHTTP_USER_AGENTにDoCoMoという
文字列が、J-SKYであればJ-PHONE、auであれば、
UP.Broという文字列が含まれているようです。

ただし、いずれこの情報は変わっていく可能性が
あるので、恒久的に使用できるというわけでは
ないですよ。

ではでは☆
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QCGI1からCGI2への変数の受け渡しと表示

他のご質問読んでもわからなくて笑
CGIの知識は、書いてあるとおりに設定を変えたりhtmlとか書き出すところの内容変えたり…いらないところに#を付けて、うごくかなぁってドキドキしている程度です(笑)わかりにく。

今回は、まず、キリ番のCGI-Aがあります。そのCGI-Aはキリ番GETしたら登録formが出てきます。登録があったらメールが管理人宛てにくるんです、その時、変数で、フォームで書いてもらった内容+その人の取ったカウント数・時間・エージェント・HOSTが、一緒に記載されてきます。
CGIではこんな感じ↓

print MAIL "時間 : $adate\n";
print MAIL "ホスト: $ahost\n";
print MAIL "使用PC: $kuag\n";
print MAIL "名前 : $aname\n";
print MAIL "カウント : $acount\n";
print MAIL "メール: $email\n";

ってちゃんと送られてきます。
で、この変数なんですが、同ディレクトリにあるメールフォームのCGI-Bに渡して(CGI-Aで登録したら必ずCGI-Bにくると)、CGI-Bが送るメールにも乗せたいのです。CGI-Bのなかのメールの雛型?の部分に
ここです↓
#メール内容
$body.="取得時間 : $adate\n";
$body.="ホスト : $ahost\n";
$body.="使用PC : $auag\n";
$body.="メール : $email\n";
$body.="内容 : $nowdate\n";

内容ってのはCGI-Bのメールフォームに書いてもらったことを表示します。でその上の4つなんですが、それがCGI-Aの変数で、これをCGI-Bのメールに一緒に送らせたいわけです。

そこで、CGI-Aの変数をCGI-Bに持ってくるにはどうするか、素人なりに考えて

#キリ番からの情報取得
require "./CGI-A.cgi";
とか考えて書いてみて、やったんですが、見事に失敗しました。どうすれば変数だけをわたせますか?教えてください。
不適切な表現とかありましたら勘弁してください。
補足など、待ってます。

他のご質問読んでもわからなくて笑
CGIの知識は、書いてあるとおりに設定を変えたりhtmlとか書き出すところの内容変えたり…いらないところに#を付けて、うごくかなぁってドキドキしている程度です(笑)わかりにく。

今回は、まず、キリ番のCGI-Aがあります。そのCGI-Aはキリ番GETしたら登録formが出てきます。登録があったらメールが管理人宛てにくるんです、その時、変数で、フォームで書いてもらった内容+その人の取ったカウント数・時間・エージェント・HOSTが、一緒に記載されてきます。
CGIではこんな...続きを読む

Aベストアンサー

#2です
>ごめんなさい・・・わかるようでまったくわかりません(笑)
のようですので、ピンとくるところがなかったようですね。
それにプログラムの修正個所を完全に書いた訳ではないでの
コピペしても全く動かないです。

で、別の方法です。
質問者さんのしたいことは、
 従来のcgi-aの処理のあと(メールを送った後)
 cgi-bでやっているメール送信も行いたい。
ですよね。

cgi-bの中で、実際にメールを送っている処理部分はどこか解りますか?
その部分をcgi-aに継ぎ足すのはどうでしょう。
当然、送る内容は変数から作っていますから
これにcgi-aの変数をコピーするなり、新たに値を設定してください。
 すなわち
 $body.="取得時間 : $adate\n";
 $body.="ホスト : $ahost\n";
 $body.="使用PC : $auag\n";
 $body.="メール : $email\n";
 $body.="内容 : $nowdate\n";
 の、$adateや、$ahostなどの変数のこと。

cgi-aに継ぎ足す際に、メールを送る処理以外を含めると
正しく動作しない可能性が高いです。
ですから、「この1行は何をしている?」がある程度
理解できないとやっぱり難しいです。

#2です
>ごめんなさい・・・わかるようでまったくわかりません(笑)
のようですので、ピンとくるところがなかったようですね。
それにプログラムの修正個所を完全に書いた訳ではないでの
コピペしても全く動かないです。

で、別の方法です。
質問者さんのしたいことは、
 従来のcgi-aの処理のあと(メールを送った後)
 cgi-bでやっているメール送信も行いたい。
ですよね。

cgi-bの中で、実際にメールを送っている処理部分はどこか解りますか?
その部分をcgi-aに継ぎ足すのはどうでしょう。
...続きを読む

Qcgiから別のcgiへの変数の渡し方

cgiからべつのcgiを起動するとき、
アドレス/a.cgi?xxx=aaa
で変数xxxにaaaを入れてa.cgiに渡せると聞きましたが
a.cgiでは、どのように受け取ればいいのでしょうか?
コーディング例とかをお願いします。

Aベストアンサー

この方法はGET方式と言われるデータの受け渡し方法で、<FORM method=POST ACTION=a.cgi>で渡すPOST方式があります。

どちらも、受け取る場合は環境変数を解析してCGIの変数にする必要があります。

自分で一からコーディングするのはかなりしんどいと思いますので、簡単にできる方法をお教えします。

cgi-lib.plというライブラリを使う事によって、簡単に受け取る事が可能です。
例えば、a.cgi?name=kimvとすると、渡されたCGI内部では $in{'name'}にkimvが代入されています。

コーディングでは
require 'cgi-lib.pl';
&ReadParse(*in);
とするだけです。

cgi-lib.plの入手場所は様々なサイトからダウンロードできますし、参考書の付録CDにもあります。
以下にダウンロードできるサイトを掲載します。

また最新版は、ケンブリッジ大にある、作者Steven Brenner 氏のHPからダウンロード可能です。

http://cgi-lib.berkeley.edu/

参考URL:http://www.net-easy.com/perl/perl.html

この方法はGET方式と言われるデータの受け渡し方法で、<FORM method=POST ACTION=a.cgi>で渡すPOST方式があります。

どちらも、受け取る場合は環境変数を解析してCGIの変数にする必要があります。

自分で一からコーディングするのはかなりしんどいと思いますので、簡単にできる方法をお教えします。

cgi-lib.plというライブラリを使う事によって、簡単に受け取る事が可能です。
例えば、a.cgi?name=kimvとすると、渡されたCGI内部では $in{'name'}にkimvが代入されています。

コ...続きを読む

Q再度:cgiから別のcgiへの変数の渡し方

再度教えていただきたいのですが。
前回 http://oshiete1.goo.ne.jp/kotaeru.php3?q=111919
で 1階層目は動いたのですが、2階層目では動きませんでした
ブラウザ(IE)のアドレスで何かをさわって更新すると受け取れます。
TOP.CGIより
<frame src=\"./B.cgi?UserID=$USR\" name=\"ue\" > A.CGIで受け取れました
A.CGI より
<FORM METHOD=POST ACTION=\"WT.CGI?U=$USR\" TARGET=\"_top\">
WT_CGIで受け取れませんでした。(ここでアドレス欄をさわって更新)
WT_CGIより
Location: ./TOP.CGI?U=$USR TOP.CGIで受け取れました。

Aベストアンサー

ごめんなさい。
質問の意味が判らないのですが・・・

要はGET方式では動いて、POST方式では上手く動かなかったと言う事なんでしょうか?

ちなみに
<FORM METHOD=POST ACTION=\"WT.CGI?U=$USR\" TARGET=\"_top\">
は無意味です。

これをやるとすると、


<FORM METHOD=POST ACTION="WT.CGI" TARGET="_top">

<INPUT TYPE=hidden name="U" value=$USR>
<INPUT TYPE=submit name=button value="送信する">
</FORM>

とすべきです。

チェックすべき点は
<FORM>~</FORM>が一対である事
送信用のボタンが存在している事

です。

Qi-mode&J-SKY対応CGIを多く紹介しているページはありますか。

タイトル通りです。

CGIの内容は何でも良いです。凝ったものでもふざけたものでも、とにかくたくさん紹介されているページを知りたいのです。と言いますのも現在、携帯対応HPを所有していて、内容がマンネリ化してきたからです。ですから、少しいろいろなものを試してみたいと思ったのです。

どうか、よろしくお願いします。

Aベストアンサー

下で紹介したサイトの中に「携帯電話用」と言う項目があります。
ついでに言わせて頂ければ、既存のだいたいのCGIスクリプトは僅かの改造でi-mode&J-skyに対応できます。
自分のお気に入りのスクリプトなどを作者に許可を得てi-mode&J-sky対応に改造し紹介するってのもマンネリ打破には効果的かと思いますが、如何でしょうか?

参考URL:http://hyne.bird.to/bcp/

Qi-mode,J-sky対応トピック型BBSのCGIを探しています。

よろしくお願いします。
タイトルにもあるように、i-modeとJ-skyの両方に対応している、トピック型BBSのCGIを探しています。(レス機能付き)

ここ数日検索して探していたのですが、全然みつからないです。
有りそうでないもんですね(ーー;
どなたかこのようなCGIを、知っているという方をお教え下さい。
以前に1度だけ見たことがあるのですが、どこでみたのか分からず検索しても、そのサイトにはいくことはできませんでした(T_T)

よろしくお願い致します。

Aベストアンサー

両方じゃないんですが、imodeのみならこちらにありました。
http://www-power.net/cgi/bbs/hyper_thread/

#CGIとありますが、Perlでよかったでしょうか?

と、まるで知ってるような書き方ですが、以下で探してみた結果でした。ご存知でしたらご容赦下さいませ。
http://script.lovely.to/index.html
http://www.i-say.net/cgi/


このカテゴリの人気Q&Aランキング

おすすめ情報