2011-07-15 18 views
0

私は、調べる必要のある方向性を理解する必要があります。ユーザーがブラウザを使用しているすべてのウェブサイトをどのように捉えたのかを把握するプログラムを作成します。私はスタンドアローンのプログラムを書こうと思っています。誰かが私にこれを理解するのに役立ついくつかのAPIを私に指示できますか?ブラウザでどのサイトが開かれているかをjavaを使って判断するにはどうすればよいですか?

+3

WAPについての部分を理解できませんでした。明確にできますか? – bezmax

+0

申し訳ありませんWAP =プログラムを書く –

+0

なぜ否定的な投票ですか?質問に何が間違っているのか理解してください。 –

答えて

0

著者のコメントで明らかになったように、彼は現在閲覧しているユーザーが何であるかを確認する必要があります。

真にブラウザとOSに依存しない唯一の方法はプロキシ経由です。 Java(既にいくつかの実装があります)を使用してHTTP(S)プロキシを作成してから、localhostで実行されているプロキシを使用するように希望するブラウザを再設定する必要があります。プロキシを使用すると、ユーザーがロードしようとするすべてのトラフィックを追跡できます。

2

まずは、どのブラウザーを確認する必要があるかによって異なります。私はあなたが現在設定されているデフォルトのシステムブラウザを確認する必要があると推測しています。とにかく、それは多くのブラウザ調査とJNIコールを必要とします。

  1. HKEY_CLASSES_ROOT\http\shell\open\command(Windowsの場合)と、異なるLinuxの下のさまざまな設定ファイルを異なるウィンドウマネージャーにチェックする必要があります。
  2. 次に、特定のブラウザの履歴をそのブラウザの形式から読み取る必要があります。例えば、Firefoxはsqlite形式の履歴をプロファイルディレクトリのplaces.sqliteファイルに保存します。 Chromeは他の手でそれを%home%/User Data/Default/historyに保存します。したがって、ブラウザごとに個別のパーサーが必要になります。

基本的に、普遍的なブラウザ履歴リーダーが必要な場合は、仕事と研究の負荷です。

0

この情報は、FirefoxでSQLiteデータベースに格納されます。

ファイル「places.sqlite」店舗注釈、ブックマーク、お気に入りの アイコン、入力履歴、キーワード、及び閲覧履歴(の記録 訪問したページ)。

http://kb.mozillazine.org/Places.sqlite

他のブラウザは、おそらく同様のアプローチを持っています。

Java、C、C#、C++、ruby、およびyes、javascriptを含むSQLiteのドライバを持つ言語であれば、このデータベースにも同様にアクセスできます。

私自身は、OPが彼のコードをgithubに載せれば、このようなスタンドアロンのJavaプログラムで協力することに興味があります。

関連する問題