Closed vieyahn2017 closed 5 years ago
Http Liar 项目是基于HTTP Proxy工作模式的一款HTTP协议拦截、篡改工具,可以基于这个工具进行针对网页的实时修改。代理性能并不是这个工具的强项,相反Http Liar对HTML、CSS、JavaScript、JSON等文本块的识别和加载以及对HTTP的解压缩行为会让网页的性能有所降低。不建议使用在性能要求非常高的场景。
HttpLiar是基于HttpProxy的工作模式,所以数据流转中也承担着承上启下的环节。
HTTP的应答会在压缩之后拆分成多个Chunked的方式进行传递,作为一个Proxy如果不需要关注内部数据只需要将流经的数据包最快的传走即可。但对于HttpLiar而言我们需要了解和修改应答的数据,所以HttpLiar需要对流经的数据像浏览器进行整合处理。这也是HttpLiar为什么性能提升不上来的原因。
对于应答所返回的数据,HttpLiar抽象成了DataBlock(二进制块)。
作为独立的HttpProxy进行部署
./java -jar httpliar-jar-with-dependencies.jar
作为内嵌应用,HttpLiar已经上传到Maven中心仓库 在pom.xml中添加
<dependency>
<groupId>com.googlecode.httpliar</groupId>
<artifactId>httpliar</artifactId>
<version>1.0.1</version>
</dependency>
编写Java代码
public static void main(String[] args) throws Exception {
final Configer configer = getConfiger(args);
@SuppressWarnings("unchecked")
final HttpLiarServer server = new HttpLiarServer(configer);
JvmUtils.registShutdownHook("httpliar-shutdown", new ShutdownHook(){
@Override
public void shutdown() throws Throwable {
server.stopProxy();
}
});
server.startProxy();
}
6 years ago的项目 (16 Feb 2013)
以前学java收集的,打算好好研究。目前取消forked
httpliar https://github.com/dongchenxu/httpliar HTTP说谎者是一个基于HTTP代理工作模式的HTTP协议欺骗工具。