监听HTTP请求

7

我有一个作业,需要创建一个代理服务器,它可以操作一些请求/响应,实现缓存等。

首先,我想创建最简单的代理,只需传递所有请求和响应即可。我在网上做了一些搜索,对于如何监听某个端口的请求并获取HTTP请求有些困惑。我遇到了SocketServerSocketHttpURLConnection等类,但不确定它们之间的交互方式。我尝试阅读文档,但它们都相互交织,有点难以理解。

您能告诉我在这个任务中应该使用哪些类,并分享一个监听端口、获取HTTP请求头等方面的代码段吗?

2个回答

6
好的,我只能假设您的代理将是一个在HTTP端口上监听请求的ServerSocket。您可以通过服务器套接字输入流读取请求。在检查请求是否符合代理规则后,您将打开一个HttpConnection到真正的HTTP服务器,并使用http连接中的输出流转发客户端的请求。然后使用http连接输入流,您将读取实际的HTTP服务器响应,最终使用套接字的输出流将其转发回客户端。
在代理中,由于您拦截请求和响应,因此在转发之前可以操纵它们。
听起来不错吧?

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接