【问题标题】:HttpsURLConnection.getInputStream works fine in Eclipse but server returns response code 503 after code is exported and run from command lineHttpsURLConnection.getInputStream 在 Eclipse 中工作正常,但在导出代码并从命令行运行后服务器返回响应代码 503
【发布时间】:2021-06-20 06:22:51
【问题描述】:

我使用 Eclipse,偶尔会导出我的程序并从命令行运行它。除了这一点,功能完全一样:

HttpsURLConnection 从网站读取一些数据。当我从 Eclipse 运行代码时,这工作正常。但是,在我将代码导出为 Runnable JAR 后,这部分程序不起作用:我得到了一个

java.io.IOException: Server returned HTTP response code: 503

这里是触发这个错误的方法:

private List<Event> parse(final String url) throws IOException {
    InputStream inputStream = null;
    try {
        URL u = new URL(url);
        HttpsURLConnection con = (HttpsURLConnection)u.openConnection();
        con.setRequestProperty("User-Agent", "Mozilla/5.0 (compatible; Windows NT 6.1)");
        inputStream = con.getInputStream();
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }
    final String page
        = org.apache.commons.io.IOUtils.toString(inputStream, java.nio.charset.StandardCharsets.US_ASCII);
    inputStream.close();
    ...
}

请注意,我的程序只访问该网站一次。它不会“骚扰”服务器...

【问题讨论】:

  • 您点击的网址是什么?
  • @aksappy 网址是forexfactory.com/calendar
  • 我对您刚刚粘贴的代码没有任何问题。尝试添加更多日志,看看发生了什么。

标签: java eclipse inputstream http-status-code-503


【解决方案1】:

我将命令行中的java 替换为"C:\Program Files\Java\jdk-13.0.1\bin\java.exe",现在它可以工作了。

[我通过转到项目 → 属性 → 运行/调试设置 → 编辑 → 显示命令行发现了 Eclipse 正在做的事情]。

我不确定我之前使用的纯 java 到底指向了哪里 - 在这一点上,我不打算调查。

【讨论】:

    猜你喜欢
    • 2016-02-24
    • 1970-01-01
    • 1970-01-01
    • 2018-09-20
    • 2016-11-27
    • 2021-11-26
    • 2014-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多