littleproxy 是用netty实现的一个 http代理服务器,代码如下
以下会打印访问的所有url。littleproxy可以修改代理的请求头,内容,参数,
也可以修改服务器返回来的请求头和内容,非常方便。
项目地址 https://github.com/adamfisk/LittleProxy
import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.http.HttpObject; import io.netty.handler.codec.http.HttpRequest; import io.netty.handler.codec.http.HttpResponse; import org.littleshoot.proxy.HttpFilters; import org.littleshoot.proxy.HttpFiltersAdapter; import org.littleshoot.proxy.HttpFiltersSourceAdapter; import org.littleshoot.proxy.HttpProxyServer; import org.littleshoot.proxy.impl.DefaultHttpProxyServer; public class LittleProxy { public static void main(String[] args)throws Exception { HttpProxyServer server = DefaultHttpProxyServer.bootstrap() .withPort(9911) .withFiltersSource(new HttpFiltersSourceAdapter() { public HttpFilters filterRequest(HttpRequest originalRequest, ChannelHandlerContext ctx) { return new HttpFiltersAdapter(originalRequest) { @Override public HttpResponse requestPre(HttpObject httpObject) { String uri = originalRequest.getUri(); System.out.println("uri:"+uri); return null; } @Override public HttpResponse requestPost(HttpObject httpObject) { // TODO: implement your filtering here return null; } @Override public HttpObject responsePre(HttpObject httpObject) { // TODO: implement your filtering here return httpObject; } @Override public HttpObject responsePost(HttpObject httpObject) { // TODO: implement your filtering here return httpObject; } }; } }) .start(); } }
相关推荐
springboot集成netty实现代理服务器,实现http和https请求的代理功能
基于Netty实现的内网穿透&反向代理的工具 (支持TCP上层协议和HTTP的穿透式反向代理).zip
基于 Java Netty实现的可用于内网穿透的代理工具.zip基于 Java Netty实现的可用于内网穿透的代理工具.zip基于 Java Netty实现的可用于内网穿透的代理工具.zip基于 Java Netty实现的可用于内网穿透的代理工具.zip基于...
同过netty实现HTTP服务器(或者客户端) 。务器提供诸如HTML文件和其他内容之类的资源,或代表客户端执行其他功能,向客户端返回响应消息。 响应包含有关请求的完成状态信息,并且还可以在其消息正文中包含所请求的...
本项目是一个基于Netty框架实现的Socks5代理服务器,支持Socks5协议的代理功能。项目包含了多个模块,涵盖了从客户端连接处理到服务器端代理转发的完整流程。主要功能包括 处理客户端的Socks5协议请求。 建立与...
Netty是一个高性能、异步事件驱动的网络应用程序框架,常用于开发服务器和客户端的网络应用,如TCP、UDP和HTTP等协议的通信。内网穿透工具,又称为NAT穿透,是一种允许内网设备通过公网进行通信的技术,这对于测试、...
在这个项目中,开发者使用Java和Netty框架实现了Socks5代理服务器,并结合了TLS加密,从而创建了一个安全的代理服务。具体实现可能包括以下步骤: 1. **设计协议解析器**:Netty的ChannelHandlerContext和...
本文将深入探讨如何使用Java的Netty框架实现一个基于DTU(Data Transfer Unit)的TCP服务器,该服务器具备多端口通信和多协议解析的能力。 首先,DTU是一种专门用于远程数据传输的设备,它能够通过GPRS、3G/4G等...
Netty 是一个高性能、异步事件驱动的网络应用程序框架,用于...在提供的 "netty_proxyServer" 文件中,应该包含了实现这些功能的示例代码,你可以参考它们来加深对 Netty 代理服务器的理解,并根据自己的需求进行定制。
读书笔记:基于Java Netty 实现的多人联机游戏多人对战的客户端和服务器端
介绍:Springboot、netty实现的http-flv、websocket-flv流媒体服务(可用于直播点播),支持rtsp、h264、h265等、rtmp等多种源,h5纯js播放(不依赖flash),不需要依赖nginx等第三方,低延迟(支持识别h264、aac...
1.基于netty绑定端口监听,对于mqtt消息和http请求消息分别绑定不同的监听端口; 2.在MQTTServerInitializer中,分别添加mqtt编码解码器和http编码解码器,并分别将自定义的mqtt消息处理handle类和http消息handle类...
5. **客户端实现**:对于硬件设备端,可以使用 Netty 的 `Bootstrap` 类创建一个客户端实例,配置相应的 `ChannelInitializer`,并指定服务器的地址和端口。连接成功后,同样通过 `ChannelHandlerContext` 进行数据...
在本文中,我们将深入探讨如何利用 Netty 4.0.23 版本来实现文件的传输,这包括客户端和服务器端的交互过程。 1. **Netty 基本概念** - **BossGroup 和 WorkerGroup**:Netty 中的核心概念,BossGroup 负责接收新...
Netty 是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。在本文中,我们将深入探讨如何使用 Netty 实现 SSL/TLS(Secure Sockets Layer/Transport Layer Security)...
在本示例中,我们将探讨如何使用Netty实现一个基于HTTP协议的文件服务器。 首先,我们需要理解HTTP协议。HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,它规定了客户端(如浏览器)和服务器之间数据...
利用netty实现Modbus TCP client/server READ COILS | 0x01 READ DISCRETE INPUTS | 0x02 READ HOLDING REGISTERS | 0x03 READ INPUT REGISTERS | 0x04 WRITE SINGLE COIL | 0x05 WRITE SINGLE REGISTER | 0x06 ...
通过Netty基于Java NIO的https代理服务器的实现。 这是一个简单的工作原理: 要通过浏览器对其进行测试,我们将需要设置一个虚拟主机名,如下所示: 127.0.0.1 test.localdomain 这样浏览器就能将SNI发送到我们...
本篇将深入探讨如何利用Netty实现文件上传功能,并结合Socket通信和UDP协议进行相关知识的扩展。 首先,我们来关注"基于Netty实现的文件上传"这一主题。Netty提供了丰富的ChannelHandler(通道处理器)和ByteBuf...
- 使用netty4.X实现的手机游戏服务器,支持tcp,udp,http,websocket链接,采用protobuf自定义协议栈进行网络通信,支持rpc远程调用,使用mybatis3支持db存储分库分表,支持异步mysql存储,db保存时同步更新reids缓存。...