我正在开发一个项目,我必须通过多个服务器发送HTTP请求,对它们进行加密和解密,加密和解密响应。
这是一个想法:
这是一个小图:
我无法访问“代理”,但“服务器1”和“服务器2”的所有内容都在我手中。它们最好是小型便携式Java应用程序。
我发现很多关于用java创建代理的东西但是因为我的“服务器1”接收请求作为字节数组,我想找到一个可以正确执行它的API。我尝试将字节转换为String,获取主机和端口并使用URLConnection yc = oracle.openConnection();
或HttpURLConnection con = (HttpURLConnection) obj.openConnection();
之类的东西,但我必须解析byte []以检索诸如methodes之类的信息(get,post,.. 。),主机,端口,协议,...并重建查询。由于请求已经构建,似乎没有什么。
我已经阅读了很多关于Apache Commons HttpClient的内容,这看起来很棒,但我找不到正确执行查询的方法。
Apache Commons HttpClient有没有办法执行原始字节查询? 或者你还有另一个建议来执行原始字节查询吗?
答案 0 :(得分:0)
发送原始字节请求的最简单方法是直接在其OutputStream中打开套接字写入。但是,您必须解析响应或获取其字节并将它们发送回另一个连接,它们来自该连接。最难的部分是正确关闭套接字/流,具体取决于Connection Keep-Alive和内容长度等。