【问题标题】:Information from website to Java从网站到 Java 的信息
【发布时间】:2014-08-02 10:31:56
【问题描述】:

在 Java 中,我有一个聊天应用程序。在其中,我有一个版本检查器,主要是为了确保你不能这样做。以 2 岁的客户端连接到新更新的服务器,它无法正常工作。

在启动器上,我显示了一个设置来显示更改日志的网页。
我想要实现的是有一个 JLabel 说:

'您的应用程序是最新的。'
'您的应用程序不是最新的。'

为此,我想我必须将某种信息从站点发送到我的应用程序。比如,可能是一个包含版本的字符串,Java 会检查它是否是最新的。

我如何做到这一点?

【问题讨论】:

  • 你要毁掉什么样的服务器?
  • 在你的服务器中创建一个 json 文件
  • 我不想破坏任何服务器。我基本上是在尝试将信息从网页发送到我的应用程序。
  • 我将如何处理 .json 文件?我是 Java 的“互联网”方面的新手,也从未使用过 .json 文件。
  • json 应该包含您的最后一个应用程序版本。您的桌面应用程序通过互联网读取该文件并检查它是否是最新的

标签: java html swing


【解决方案1】:

好的,这可能是一种更好、更清洁的方式,但我做到了。

基本上在我的changelog.html页面上,我在底部隐藏了一些白色的文字(与背景混合),上面写着“当前版本:1.0”所以然后在Java中,我得到了页面源并剖析了每个部分直到我只剩下'1.0'

所以这里是版本的部分:

<font color='white'><p>Current Version: 1.0</font>

在 Java 中,我这样做了:

private void getVersion() {
    String source;

    // Try to set a String to the webpages source.
    try {
        source = getUrlSource(url);
    } catch (IOException e) {
        e.printStackTrace();
    }

    // Split the text in half.
    String[] v = source.split("<font color='white'><p>Current Version: ");

    // Gets the part after 'Current Version: '
    String v2 = v[1];

    // Removes the end bit.
    v2 = v2.replace("</font></html>", "");

    // All we have left is '1.0'
    System.out.println(v2);

}

也感谢 cmets。让我继续解决问题。

【讨论】:

  • 我会调查 jsoupor xpath。作为协议的一部分,我还将研究客户端在首次连接到服务器时必须验证版本的方法
  • 是的,目前这只是我正在从事的一个小项目,并且想要一种简单的方法来做到这一点。随着我对它的深入了解,我很可能会按照所说的去做。
猜你喜欢
  • 1970-01-01
  • 2018-06-18
  • 1970-01-01
  • 2010-09-24
  • 1970-01-01
  • 1970-01-01
  • 2023-03-21
  • 2011-09-02
  • 1970-01-01
相关资源
最近更新 更多