如何通过代理在Java中发送原始http请求

时间:2011-01-29 03:21:15

标签: java http proxy

基本上我正在尝试为http请求编写代理。我已经能够相当容易地设置服务器,并且在将浏览器指向代理而不是直接连接之后,它正在接收从浏览器发送的原始http请求。

我现在的问题是我现在需要能够从代理发送原始请求以从目标服务器检索响应。我一直试图通过Apache的HttpClient进行挖掘,但据我所知,我仍然不确定如何使用它来方便发送原始请求。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

除了识别CONNECT命令之外,您在yur代理中根本不需要任何支持HTTP的代码。其余部分只是向前和向后复制字节。您可以使用两个线程(每个连接),或者您可以使用NIO在一个线程中完成所有操作。

答案 1 :(得分:0)

看起来您需要做的就是创建与远程服务器的连接。根据您重新路由浏览器请求的方式,您可能需要自己实施DNS查找。正如EJP所说,只需将字节从一个流复制到另一个流,然后将响应复制回来。