有一个简单的命令行HTTP代理输出到STDOUT吗?

有一个命令行的HTTP代理输出到标准输出,所以我可以在Unixpipe道使用它?

我想要做这样的事情:

  1. 在命令行中启动代理:
    $ proxy -p 8888 | grep "Text I'm interested in" > ~/my_log.txt
  2. configuration我的浏览器以使用端口8888上的HTTP代理。
  3. 浏览networking。 当我浏览时,HTML被grepped并保存到my_log.txt
  4. CTRLC完成后。

更新:我以前没有想过这个,但解决scheme需要正确处理gzipped /缩小的内容。

你可以跳过代理,只需使用带-A选项和filter的tcpdump?

 # capture everything destined for port 80 tcpdump -qni eth0 -s 0 -A port 80 # capture everything destined for port 80 on 192.168.32.1 tcpdump -qni eth0 -s 0 -A port 80 and host 192.168.32.1 # capture everything destined for port 80 and display only the interesting bit. tcpdump -qni eth0 -s 0 -A port 80 | grep "Text I'm interested in" 

你可以用ngrep来做到这一点。

ngrep -q -W byline "Text I'm interested in" port 80 > ~/my_log.txt

对不起,如果这看起来像一个无耻的插件,但前一段时间,我写了一个小的HTTP代理输出所有的数据通过它。 我只是把它张贴在我的网站上,以防对某人有用。 希望它有帮助: OutputProxy

使用polipo

polipo logLevel=0xFF

执行polipo -v | grep logLevel polipo -v | grep logLevel可以看到:

logLevel整数0x7logging级别(最大值= 0xFF)。

它不是完全按照你想要的方式来做,但是我会说一个SimpleHTTPServer的修改版本可以做到这一点。

 python -m SimpleHTTPServer <port> 

它目前允许您从PWD运行HTTP服务器,并将访问日志返回到STOUT。