• ベストアンサー

HTTP通信の中身を解析したいのですが

HTTP通信の中身がある文字列にマッチした場合、お知らせするような小物アプリを作りたいと考えています。  具体的には「<B>業績予想下方修正</B>」というような文字列が受信したHTTPの中に含まれていた場合にアラートダイアログを出すというような感じです。  いくつか試しにパケットキャプチャと言われるソフトをダウンロードして使ってみているのですが、受信したHTMLタグの中身が見れないような気がしているのですが。。。  よいアドバイスがありましたらよろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • you-m
  • ベストアンサー率58% (190/327)
回答No.2

キャプチャーしたデータの中身が見れないのは、恐らく単純に文字コードの問題ではないですか? そもそも、日本語Web上のコンテンツは、大まかにShift-jis、EUC-JP、7ビットJIS、最近ではUTF-8なんかもありますが、流通している漢字コードには、これだけ種類があるわけです。 キャプチャソフトを動かしてそのまま見れるのは、Shift-jisだけでしょう。 ポイントは、HTTPヘッダもしくは、HTMLのHEAD内で宣言されているコンテンツタイプを識別して、そのコンテンツの文字コードを正しく判別してやり、そのコードを前提としてアプリ側でコンバートしてやれば、問題なく処理ができるかと思います。 しかし、小物アプリと呼ぶにはやや重いかもしれませんね。RubyやPerlならば割と簡単に作れると思いますが。

mikichan1234
質問者

お礼

そうですか。Rubyは一応ちょっとできるのですが、今回はNo1さんへの回答のように方針変更しようと思います。  ありがとうございました。

その他の回答 (2)

  • coredump
  • ベストアンサー率46% (12/26)
回答No.3

他のアプリがHTTP通信をしているデータを 見たいのですか? ならパケットモニタとかするしか ないですね。。。で、これはproxyの作成よりも 数段難しいです。gzipとかsslとかを使用している 可能性もありますし。 Winなら、urlの部分だけキャプチャして、裏で vbsかなんかでブラウザコントロール使って そのurlをGETして検索するのが恐らく一番簡単ですね。

mikichan1234
質問者

お礼

そうですね。そうしようと思います。ありがとうございました。

  • nick2038
  • ベストアンサー率34% (55/160)
回答No.1

 状況が全くわからないのですが…  目的に合っているのはproxyでしょう。  キャプチャしたパケットからHTMLの文字列を常時監視するのは「小物アプリ」じゃかなり難しいと思います。

mikichan1234
質問者

お礼

難しいですか。そういえば以前に「起動しているIEが表示しているHTMLを解析して処理する」というようなスクリプトを書いたことを思い出したので、それを改造して作ることにしようと考え直しました。  状況を説明すると株価に関する最新ニュースに「業績予想○○修正」などというような内容があったらすぐに知りたいというのが目的です。  ありがとうございました。

関連するQ&A