【发布时间】:2014-06-22 15:56:41
【问题描述】:
我的查询与我正在执行的实现有关。
当 HTTP 请求从客户端端口发送到服务器端口时,我了解 响应也被发送回同一个端口(端口到端口通信)。
在我的例子中,服务器正在将带有查询字符串的 URL 的响应转发到我们网络上的主机服务器。所以当我使用 URLConnection 对象的 InputStream 读取响应时,我得到的是与没有查询字符串的转发 URL 的登录页面对应的 HTML 内容。
我怀疑这是因为我们的主机服务器修改了 URL。
现在的问题是,在这种情况下,似乎有一个中间实体,它是我们的主机服务器,URL 被转发到。因此,当我在 InputStream 中读取响应(由服务器转发的 URL)时,我不确定以下 2 中哪一个是实际发生的场景:
1.) 直接从外部服务器读取响应(因为这是端口到端口的通信)
或
2.)从中间主机服务器收到的响应似乎是这种情况。
(如果第二种情况是正确的,中间主机服务器是否知道将响应正确转发到哪个客户端?)
URL url = new URL(httpsURL);
HttpsURLConnection urlConnection = (HttpsURLConnection) url
.openConnection();
urlConnection.setRequestMethod("POST");
urlConnection.setDoOutput(true);
urlConnection.setDoInput(true);
///
Omitting code for SSL
///
String urlParameters = "CCNumber=4111111111111111";
DataOutputStream wr = new DataOutputStream(urlConnection.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
BufferedReader in = new BufferedReader(new InputStreamReader(
urlConnection.getInputStream()));
String inputLine;
if (urlConnection.getResponseCode() == HttpsURLConnection.HTTP_OK){
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
}
}
【问题讨论】:
-
向我们展示您的客户端代码。
-
附加客户端代码..响应只是HTML页面内容..
标签: java http url-rewriting