前言:
现在各位老铁们对“java代理http”大致比较着重,大家都需要剖析一些“java代理http”的相关内容。那么小编也在网摘上网罗了一些有关“java代理http””的相关资讯,希望看官们能喜欢,各位老铁们一起来学习一下吧!http代理服务器
代理服务器,Proxy Server,http代理服务器就是基于http协议的代理服务器。
LittleProxy
LittleProxy是一个用Java编写的高性能HTTP代理服务器,基于Netty事件的网络库之上,它非常稳定,性能良好,易于集成到项目中,支持命令行和嵌入式方式。
地址:
代码案例
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; }}
真是个好年代,什么东西别人都替你写好了~~
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #java代理http