質問: ブラウジングしながら特定のサイト内のサーバーレスポンスを ローカルPCファイルに保存し続けたいです --- これまでにも何度か質問させていただいてchrome-extension で javascript 上にレスポンスを文字列として取得するまではできました ただここから直接ファイルに保存するのが javascript のセキュリティ的に無理そうなので、ローカルに保存する為だけのサーバーをたてようかと思っています Windows 上で http リクエストを受け取ってリクエストボディを保存するサーバーを手軽に実現できる方法はないでしょうか ウェブサーバーだと apache とか nginx とかしか使ったことがなくてその上に CGI をのせてその中でリクエストボディをファイル保存するみたいなことをすればできそうではあるんですが ruby, python, java, node あたりははいってるのでワンライナーとかリダイレクトあたりで手軽に実現できないでしょうか リクエストボディのみでヘッダ情報は一切不要 完全に自分用で公開したり配布したりしないのでセキュリティとかもどうでもよくて最低限落ちてる(起動忘れてる)のに気付けるとうれしいです よろしくおねがいします --- これまでの関連質問 ブラウザで開いてるページの ajax 通信の内容を自動でローカルファイルに残したい chrome extension 内からローカルファイルに書き込むことってできませんか?
回答: 目的とあっているかわかりませんが、電子ペーパーの通信解析(未完)用にずっと前に作成したツールを参考実装として紹介しておきます。 これはリバースプロキシとして動作し、アクセスすると指定のIPアドレス宛にそのままリクエストを投げてそのレスポンスをそのまま返します。Vagrant上で実行して、hostsあたりを書き替えれば、特定サイトだけそのままアクセスできると思います。全てのリクエストとレスポンスを標準出力に表示するようにしていますが、適当なファイルにリダイレクトするか、その部分を書き替えればいいでしょう。 中身を見ればわかりますが、実装は本当にリクエストとレスポンスの受け渡しなので割と単純です。ただ、Cookie周りは工夫しないとうまくいかなったので、色々しています(なぜ、こうなっているのかは記憶に無いので、詳しいことは聞かないでください)。特定のメソッドだけで、Cookieとかを考慮しないとかでないと、ワンライナーで実現するのは難しいと思います。 ただ、電子ペーパー専用に作り込んでいる(mDNS通知とか、8080ポートを使うとか)ので、実装は参考程度にして、書き替えるか、作り直してください。(ライセンスは一つ上のディレクトリにあるLICENSEにMITと書いてあるので、煮るなり焼くなりご自由に) なお、普通に解析目的ならFiddler Classic等を使った方が簡単だと思われます。