收听HTTP请求

Ami*_*hum 6 java sockets proxy httpwebrequest

我有一个任务,我需要创建一个代理服务器,它将操纵它获得的一些请求/响应,实现缓存等.

对于初学者,我想创建最简单的代理,它只传递所有请求和响应.我已经在线完成了一些搜索,我对如何在某个端口监听请求并获取HTTP请求感到困惑.我迷迷糊糊上了班Socket,ServerSocket,HttpURLConnection,但我不知道怎么所有这些互动.我试图阅读文档,但它们都交织在一起,有点难以理解.

你能指出我应该用于这个任务的哪个类的正确方向,并且可能共享一个用于监听端口,获取HTTP请求头等的片段?

Edw*_*rzo 5

好吧,我只能假设您的Proxy将是一个ServerSocket侦听HTTP端口上的请求.您通过服务器套接字输入流读取请求.检查请求是否符合代理规则后,您将打开HttpConnection到真正的HTTP Server,并使用http连接中的输出流转发客户端的请求,然后使用http连接输入流,您读取真正的HTTP服务器的响应,您最终将使用套接字的输出流转发回客户端.

在代理中,由于您拦截了请求和响应,因此您可以在转发之前对其进行操作.

听起来不错?