- - PR -
URLリファー
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2001-10-01 16:07
はじめて投稿させていただきます。よろしくお願いします。
早速なのですが、以下のことは可能でしょうか? 【内容】 ユーザがどこからきたのかURLを調べたい。 例として、 たとえば、http://www.yahoo.co.jpからきたとした場合、 そのURLのStringを取りたいと考えています。Javaで実現可能でしょうか? 同様の内容としては、JavaScriptのdocument.referrerというメソッドがあるようですが、 開発の関係上Javaのみで実現することになってしまいました。 どうかご教授ください。 | ||||
|
投稿日時: 2001-10-01 17:38
できますよ。
ServletやJSPではjavax.servlet.ServletRequest の getRemoteHost()メソッドが使えます。アクセスしてくるクライアントのURLもしくはIPアドレス(URLが引けない場合)を返すそうです。IPアドレスを調べる時はgetRemoteAddr()メソッドが使えます。 java.netを使ったソケット・プログラミングではgetURL()メソッドが使えるのではないでしょうか? [ メッセージ編集済み 編集者: H2 編集日時 2001-10-01 17:52 ] | ||||
|
投稿日時: 2001-10-01 18:00
ありがとうございます。
getRef()というメソッドがありましたが、それでいけそうですね・・・ しかし、フレームなどを使用しているHPの場合、URLが同じということも 考えられそうですが・・・ | ||||
|
投稿日時: 2001-10-01 18:22
あや、ごめんなさい。すっかり勘違いしたみたいです。
っていうのはどのリンクをたどってきたのかを調べたいということですね。初歩的な間違いをしてしまいました。私が載せたのは、ユーザーがどこからアクセスしているかでした。 失礼しました。 [ メッセージ編集済み 編集者: H2 編集日時 2001-10-01 20:46 ] | ||||
|
投稿日時: 2001-10-01 20:14
試したわけではないのでアレですが、たぶん、Referrer にはリンク元の「ページ」の URI が入ると思います。フレームのトップではなく、リンクのタグが書いてあるページの URI です。 逆に、リンク先のページがフレーム構成になっているときは、フレームの子ページから Referrer を調べると、ブラウザによって親フレームのリンク元を返したり、親フレームそのものを返したりすることがあるので気をつけないといけないはずです。たぶん。 _________________ ひぐち おさむ [Disclaimer] この書き込みは私個人の見解を記述したものです。私が所属・関与する法人・団体の意見を代表・代弁するものではありません。 | ||||
|
投稿日時: 2001-10-01 20:44
訂正バージョンです。
jspやservletではString referedFrom = request.getHeader("REFERER");で"referedFrom"にリンク元のアドレスが返されます。フレームで試したところ、親フレームそのものを返しました。(IE 5.5 sp2です) ところでgetRef()はちょっと違うと思います。もしURLが "http://www.cse.unsw.edu.au/index.html#chapter1" とあった場合、#の後の"chapter1"というのはInternal Reference(同じページ内でぽこぽこ飛ぶ奴です)になります。getRef()はURLオブジェクトからこの部分を返すだけのメソッドです。この場合、"chapter1"しか返してくれません。refere(参照元)ではなくreference(参照先)をgetするものです。 [ メッセージ編集済み 編集者: H2 編集日時 2001-10-01 20:49 ] | ||||
|
投稿日時: 2001-10-02 10:25
すいません、勘違いしてたようですね。
ひぐちさん、H2さん、ありがとうございました | ||||
|
投稿日時: 2001-10-09 11:09
REFERERに何が設定されるかはブラウザ依存ですので、IEとNNでは振る舞いが違ってきます。 frameを使用する際にはご注意ください。 (参考) http://www.ez-net.ne.jp/index.asp?content=%2Fspecial%2Fsoftware%2Fbrowser%2Freferer%2Easp また、最近のフィルタリング技術(プロキシサーバやWebwasherという製品)では、 HTTPヘッダ上のREFERERを加工・削除してしまうこともありますので、 そういう利用者の場合には、そもそもREFERERが取得できないこともあります。 | ||||
1
