26899


* * *

コメントでのご指摘ありがとうございます。曖昧な質問で大変申し訳ありませんでした。  
さらに追記を加えようと思いましたが、  
質問が見づらいものになってしまったため、質問を編集し、まとめました。

* * *

・作成したいApp  
ブラウザのパケットをキャプチャするアプリ

・やりたいこと  
クライアントがブラウザを起動しており、そこにWebページの内容が表示されている。  
この状態で、作成したアプリを起動すると、  
ブラウザに表示されているWebページが行っている通信データ(HTTPヘッダ、パケット)を取得し表示したい。  
そのため、通信が行われるたびに、アプリで表示している情報を更新する必要がある。

・開発主言語  
Java

・動作環境  
macOS  
GoogleChrome

・試したこと  
WebDriverを用いて、ブラウザを操作しようとしましたが、  
ブラウザの立ち上げが操作はできるものの、通信データを取得する方法がわかりませんでした。

また、コメントにもございますが、同じようなことを行っているアプリがProxyを用いていることが分かったのですが、Proxyについて知識がなく、調べようとしてもなかなか情報がでてきません。

・伺いたいこと  
現在開いているWebページのパケットを取得するJavaライブラリは存在するか？  
他にJavaでWebページのパケットを取得する方法はあるか？

また、JavaでのHttpProxyについて学べる資料とかあれば、教えていただけると助かります。


CC BY-SA 3.0
2016-06-11T21:35:35.643
26660
2016-06-20T15:57:52.787
2016-06-13T19:01:47.133
13404
13404
question
java google-chrome http
Javaを用いてブラウザのHTTPヘッダを取得する方法


HTTP Proxyを使う方法もありますが、Google Chrome でしたら、remote-debugging-
protocolというのを使う方法もあります。  
たぶん、それがWebDriverと同じ仕組みと思われます。

<https://chromedevtools.github.io/debugger-protocol-viewer/1-1/>  
これは、WebSocketを使ってChromeに接続するのですが、ChromeでのDevToolでとれる情報と同様の情報がとれます。

基本的には、Chromeをremote-debug付きで起動したあとに、WebSocketでそこに接続すれば取得できます。  
Macでのremote-debugを有効にしたChromeの起動方法は以下にあるので、参考にしてください。  
<http://www.coltware.com/2016/06/13/console_log_to_file/>


CC BY-SA 3.0
2016-06-20T15:57:52.787
26899
2016-06-20T15:57:52.787
9983
26660
answer