Java,http代理服务器,基于Netty框架实现的http代理服务器

http代理服务器

代理服务器,Proxy Server,http代理服务器就是基于http协议的代理服务器。

LittleProxy

LittleProxy是一个用Java编写的高性能HTTP代理服务器,基于Netty事件的网络库之上,它非常稳定,性能良好,易于集成到项目中,支持命令行和嵌入式方式。

地址:https://github.com/adamfisk/LittleProxy

代码案例

pom.xml


    
        org.littleshoot
        littleproxy
        1.1.2
    

使用代码

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;
    }

}

真是个好年代,什么东西别人都替你写好了~~

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章