【问题标题】:Checking for HTTPS Website Response Code检查 HTTPS 网站响应代码
【发布时间】:2018-04-26 02:04:18
【问题描述】:

首先 - 我是这个页面的新手,刚刚创建了我的帐户,因为我无法处理我要解决的问题。

我正在尝试从网站获取响应代码 - 我真正感兴趣的是我正在检查的页面是否存在,所以我正在寻找 404 错误。我是这样做的:

public static void main(String[] args) throws IOException {
    URL url = new URL("https://bittrex.com/dffdgdfgdfgdfgfdgdf");
    HttpURLConnection con = (HttpURLConnection) url.openConnection();
    con.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");
    int responseCode = con.getResponseCode();
    System.out.println(responseCode);

}

该 URL 不存在,但它一直给我 403(禁止访问)或 503(服务不可用)响应代码,但该站点显然是 404ed。我在某处读到它是因为 HTTPS 协议和 setRequestProperty 假装是浏览器会有所帮助,但它没有。

无论如何我可以解决这个问题,以便网站向我返回 404 错误?提前感谢您的帮助!

【问题讨论】:

  • 尝试使用HttpsURLConnection
  • 谢谢,但这并没有改变结果。 :(
  • 你需要做一些配置。当我从我的移动 Chrome 访问你的网站时,我确实得到了 404。谷歌四处看看如何配置HttpsUrlConnection。我并没有说只改变一行就可以了。
  • 请帮帮我:(
  • 您是否听从了我上述评论的建议?同样,我从浏览器中得到了 404。

标签: java url https http-status-code-404 http-status-code-503


【解决方案1】:

这取决于网站的响应。在任何浏览器中点击你的链接https://bittrex.com/dffdgdfgdfgdfgfdgdf,它会给你 404。这就是你得到 404 的原因。

下面的代码给你 200 响应代码:

URL url = new URL("https://google.com");
    HttpURLConnection con = (HttpURLConnection) url.openConnection();
    con.setRequestProperty("User-Agent",
            "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");
    int responseCode = con.getResponseCode();
    System.out.println(responseCode);

【讨论】:

  • 我希望我的程序返回代码 404,但它给了我 503(服务不可用)错误。我认为这可能是因为 cloudflare 保护。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-15
  • 2015-01-07
相关资源
最近更新 更多