java代理服务器(Javahttp代理服务器基于Netty框架实现的http代理服务器)
代理服务器,Proxy Server,http代理服务器就是基于http协议的代理服务器,现在小编就来说说关于java代理服务器?下面内容希望能帮助到你,我们来一起看看吧!
java代理服务器
http代理服务器代理服务器,Proxy Server,http代理服务器就是基于http协议的代理服务器。
LittleProxy
LittleProxy是一个用Java编写的高性能HTTP代理服务器,基于Netty事件的网络库之上,它非常稳定,性能良好,易于集成到项目中,支持命令行和嵌入式方式。
地址:https://github.com/adamfisk/LittleProxy
代码案例pom.xml
<dependencies>
<dependency>
<groupId>org.littleshoot</groupId>
<artifactId>littleproxy</artifactId>
<version>1.1.2</version>
</dependency>
</dependencies>
使用代码
import org.littleshoot.proxy.HttpProxyServer;
import org.littleshoot.proxy.impl.DefaultHttpProxyServer;
public class HttpClientServer {
public static void main(String[] args) {
HttpProxyServer server = DefaultHttpProxyServer.bootstrap()
.withPort(11111)
.withFiltersSource(new MyHttpFiltersSourceAdapter())
.start();
}
}
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.http.*;
import org.littleshoot.proxy.HttpFilters;
import org.littleshoot.proxy.HttpFiltersAdapter;
import org.littleshoot.proxy.HttpFiltersSourceAdapter;
public class MyHttpFiltersSourceAdapter extends HttpFiltersSourceAdapter {
public HttpFilters filterRequest(HttpRequest originalRequest, ChannelHandlerContext ctx) {
String uri = originalRequest.getUri();
HttpMethod method = originalRequest.getMethod();
System.out.println("method=" method ",uri=" uri);
return new HttpFiltersAdapter(originalRequest) {
@Override
public HttpResponse clientToProxyRequest(HttpObject httpObject) {
// TODO: implement your filtering here
System.out.println("clientToProxyRequest=" httpObject);
return null;
}
@Override
public HttpObject serverToProxyResponse(HttpObject httpObject) {
// TODO: implement your filtering here
System.out.println("serverToProxyResponse=" httpObject);
return httpObject;
}
};
}
@Override
public int getMaximumResponseBufferSizeInBytes() {
return 10 * 1024 * 1024;
}
}
真是个好年代,什么东西别人都替你写好了~~
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com