投稿日:2005年02月08日 作成鷹の巣

No.18298 CGIのUSER_AGENTで、携帯の機種「N-***」だけ取り出すコマンドはあるのでしょうか?



CGIのUSER_AGENTで、携帯の機種「N-***」だけ取り出すコマンドはあるのでしょうか?

No.18298 投稿時間:2005年02月08日(Tue) 02:28 投稿者名:himawari20 URL:

例えば、$a = abcdef 数字が5つ入っているとします。それの真ん中の2つの数字を取り出す方法はどうすればいいのでしょうか?ここでいうと、「cd」が返ってくると言うことです。どうかお願いします。
それと、$a=$ENV{HTTP_USER_AGENT}を携帯で見たとします。そうすると、/d?c?mo/1.0/N-***/****と出力されると思いますが、それの携帯の機種「N-***」だけ取り出すコマンドはあるのでしょうか?それとも他のコマンドがあるのでしょうか?教えてください。かなり探したり、本を見たりしたのですが、分からず投稿しました。


perlで。

No.18306 投稿時間:2005年02月08日(Tue) 12:24 投稿者名:ぱるぱる URL:

> 例えば、$a = abcdef 数字が5つ入っているとします。それの真ん中の2つの数字を取り出す方法はどうすればいいのでしょうか?ここでいうと、「cd」が返ってくると言うことです。どうかお願いします。

本ぐらいよんだら。substr ですよ。

> それと、$a=$ENV{HTTP_USER_AGENT}を携帯で見たとします。そうすると、/d?c?mo/1.0/N-***/****と出力されると思いますが、それの携帯の機種「N-***」だけ取り出すコマンドはあるのでしょうか?それとも他のコマンドがあるのでしょうか?教えてください。かなり探したり、本を見たりしたのですが、分からず投稿しました。

/ で文字を区切る。 split
N- が先頭にあるか index

今書きました3個の命令のはたらきをマニュアルでちゃんと確認すれば出来るのでしょう。
本と言うのは探したり見たりばかりしていないで、じっくり読む事。


URLの前にwwwをつけるのってどうしたらできるのでしょうか?

No.18314 投稿時間:2005年02月09日(Wed) 01:49 投稿者名:himawari20 URL:

お返事、ありがとうございます。
後、URLの前にwwwをつけるのってどうしたらできるのでしょうか?

サーバはhttpdです。
***.ddo.jpをwww.***.ddo.jpにしたいのですが・・・。


文字列同士を繋げばいいだけです。

No.18317 投稿時間:2005年02月09日(Wed) 07:39 投稿者名:Iwa URL:http://www.ethersky-online.net/

> ***.ddo.jpをwww.***.ddo.jpにしたいのですが・・・。

文字列同士を繋げばいいだけです。
文字列連結の演算子には . を使います。

#ぱるぱるさんの「本ぐらいよんだら」の助言が生かされていないですねぇ。
#文字列連結ぐらいは基本中の基本なので本でなくともGoogle等の検索でも見つかります。
#まずは訊く前に自分で調べる習慣をつけましょう。


それはCGIのことではなく、サーバの設定のことです。

No.18322 投稿時間:2005年02月09日(Wed) 16:46 投稿者名:hima(^-^)20だょ☆ URL:

説明不足でした。自分のpcからhttp://www.***.ddo.jp/とアドレスうったらつながるのですが、外部よりhttp://www.***.ddo.jp/と打っても繋がりません。http://***.ddo.jp/では繋がるのですが・・・。固定IPアドレスじゃないと、出来ないのでしょうか?


サブドメイン利用の場合は、だめなのでは。

No.18324 投稿時間:2005年02月09日(Wed) 17:03 投稿者名:Reboot URL:

> 説明不足でした。自分のpcからhttp://www.***.ddo.jp/とアドレスうったらつながるのですが、外部よりhttp://www.***.ddo.jp/
> と打っても繋がりません。http://***.ddo.jp/では繋がるのですが・・・。固定IPアドレスじゃないと、出来ないのでしょうか?

ddo.jp さんのサブドメインを利用しているからでしょう。

独自ドメインを取得すれば、固定IPであるなしにかかわらず www を
つけてもアクセス可能かと思いますが。

要は www.***.** で登録されていれば、繋がる訳です。
アクセスして繋がらなければ、www.***.** で登録されていない
ということではないでしょうか。


ワイルドカードは有料オプションです。

No.18326 投稿時間:2005年02月09日(Wed) 17:46 投稿者名:松元 URL:

> ddo.jp さんのサブドメインを利用しているからでしょう。

ワイルドカードは有料オプションです。お金払えば出来ます。

ただのDDNSも有ります。
http://www.hi-ho.ne.jp/yoshihiro_e/dice/#LIST
でワイルドカード機能に ○か◎ のついている所。ddoは△(有料)


理解できました。ユーザエージェントの取得がうまくいきません。

No.18338 投稿時間:2005年02月10日(Thu) 17:36 投稿者名:himawari20 URL:

言われると、「あぁ、そうだ!」と、分かりました。ほんと、バカですよね 照"
ここにいらっしゃる皆さんに感謝です。ありがとうございます。
前の話に戻るのですが、やはりUser_Agentの取得がうまくいきません。
アクセスしてきたひとのUser_Agentをサーバに書き込み、表示させようとしているのですが・。
split
を使ったら、何もサーバに書き込まれず、もちろn表示もしませんでした。
$a = $user_agent[2];
print "$a"
でも同じ結果でした。
$a = "$ENV{HTTP_USER_AGENT}";とすると、サーバに書き込まれ、表示もきちんとするのですが、
Mozilla/4.0 (compatible; ***; ****** 略;
で、ながすぎます。pcからだったら、サーバには全ての情報を書き込み、Mozillaだけを表示するようにしたいんです。


|目次|掲示板|過去ログ目次|▲頁先頭|