【发布时间】:2014-06-20 16:20:57
【问题描述】:
我正在使用 Swing 开发桌面应用程序。我已经弄清楚如何使用 POST 请求登录网站并接收 HTML 响应。现在我需要将收到的 HTML 发送到默认浏览器。基本上,向用户显示浏览器在后台返回给我的内容。我已经阅读了一些关于 set header 等的内容。
所以我的问题是,如何将 html 代码从 java 发布到浏览器中,使其显示为网站而不仅仅是文本?
我希望不必使用任何服务器(Socket)类型的代码,因为我觉得如果程序在不同的计算机上运行会存在兼容性风险。
// Log Into Website
URL objtest = new URL("http://rccpdems01/ems/Login.php/Login.php");
HttpURLConnection con = (HttpURLConnection) objtest.openConnection();
con.setRequestMethod("POST");
String datas = "userid=Gt737326&psword=Test&btnLogin=Login";
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(datas);
wr.flush();
wr.close();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
【问题讨论】:
-
让我看看我是否理解:您向服务器发出 POST 请求并以 HTML 格式获得响应。现在您想要/需要将此 HTML 发送到外部浏览器?您在哪里执行这些操作?
-
我实际上想将收到的 HTML 发送回我从中获取它的浏览器(所以是的,我猜是外部浏览器),我正在用 Java 执行这些操作。
-
我在 Java 中执行这些操作 如果它不是 Java,那么你不会用 Java 标记这个问题。除此之外,我的意思是你正在使用什么样的应用程序:控制台、独立、Web、移动、后台进程......你应该用程序员的术语来解释这个问题,而不是最终用户的术语。
-
呃...您使用的 IDE 与问题完全无关。 Java 编程语言不依赖于 IDE。再说一遍:您正在使用哪种应用程序:可以通过浏览器访问的 Web 应用程序、手机上使用的移动应用程序、在命令行中执行的控制台应用程序?再说一遍:我们是在程序员之间讨论,而不是在最终用户和程序员之间。
-
好的,我们正在讨论一个独立的应用程序。所以您的问题是如何在您的桌面应用程序中显示您从外部源获得的 HTML,对吗?另一个问题:你是创建小程序还是使用swing?