- - PR -
アクセス元の時刻
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-06-18 19:24
webシステムの開発をしています。
クライアントがアクセスした時間をクライアントの国の時刻で取得する方法を模索しています。 javascriptを利用してクライアントからリクエストに時刻をセットさせるという方法もあるのですが、JAVAだけでどうにかできないのでしょうか? タイムゾーンがわかれば、Clendar.getInstance(TimeZone)で取得できることはわかったのですが、リクエストにはタイムゾーンを判別する情報は含まれていないのでしょうか? | ||||
|
投稿日時: 2006-06-18 22:51
リクエスト・ヘッダーの中身を調べてみましょう。
・・・大昔のブラウザだと、含まれていないことがあるようだが。 [ メッセージ編集済み 編集者: さいくろう 編集日時 2006-06-18 22:52 ] | ||||
|
投稿日時: 2006-06-18 23:30
JavaScriptでどうこうするのと合せた方がいいぞ。
| ||||
|
投稿日時: 2006-06-19 11:31
返信ありがとうございます。
>さいくろうさん HttpServletRequest.getHeaderNames(); でヘッダに格納されているそれらしい情報は得られませんでした。(IE6なのですが) 見る場所が違うのでしょうか。 ServletRequest.getLocale()も言語情報のようですし。。。 accept */* accept-language ja accept-encoding gzip, deflate user-agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; istb 644; .NET CLR 1.1.4322) host ****** connection Keep-Alive cookie JSESSIONID=****** >ぶさいくろうさん JavaScriptだと画面からのリクエストに限定されるため、JAVAでの実装を考えていました。 (できれば直接のURL指定でリクエストを受けた場合も時刻を取りたい) ヘッダ情報を参照する場合も、JavaScriptを利用する場合も、 クライアントのブラウザに依存してしまいますが、 JavaScriptを利用する利点があれば教えていただけないでしょうか? | ||||
|
投稿日時: 2006-06-19 20:11
申し訳ありません。
getHeaderDate(String name)を見て、早とちりしたようです。m(_ _;m しかも、サーブレットじゃ、アクセス元からは使えませんね。 | ||||
|
投稿日時: 2006-06-19 20:48
IPアドレスから接続元の所在地を検索できるデータベースを
商品としている会社があります。 http://www.arearesearch.co.jp/surfpoint_family.html でも、これは国内専用?のようですね。 | ||||
|
投稿日時: 2006-06-21 17:23
ヘッダーって意外に時間がなかったんですねー
こうなるとリクエスト情報からお国を取得して 時間は自分で計算するしかないような気がします。 うる覚えで申し訳ないのですが 確か、getLocale() でお国とかまでたどり着けたと思います。 間違っていたらすみません。 | ||||
|
投稿日時: 2006-06-21 19:09
不完全ですよ。基本的に言語までと思った方がいいです。 Accept-Languageはあくまで言語の識別名しか入りません。 それに、言語と生活時間帯は別物と考える必要があります。 アメリカに長期出張中の日本人が日本から持っていった PCの言語設定を英語に変える可能性は低いでしょう? |