【问题标题】:Get only the response code not the full source of a url仅获取响应代码而不是 url 的完整来源
【发布时间】:2013-06-14 05:09:56
【问题描述】:

我有一个 URL,我只想检查页面的响应代码而不是完整的页面源,因为获取完整的页面源非常慢。正确的方法是什么?

HttpUrlConnection 中的 getResponseCode() 是获取完整的页面源还是仅获取页眉?

【问题讨论】:

  • int respCode = ((HttpURLConnection)conn).getResponseCode();将返回响应代码
  • 我会说,不,它不会下载内容。

标签: java http url


【解决方案1】:

直接来自文档,HttpUrlConnection#getResponseCode()

从 HTTP 响应消息中获取状态代码。例如,在以下状态行的情况下: HTTP/1.0 200 正常 HTTP/1.0 401 未经授权

它将分别返回 200 和 401。如果无法从响应中识别出任何代码(即响应不是有效的 HTTP),则返回 -1。

【讨论】:

    【解决方案2】:

    取决于您提出请求的动机是什么。如果请求通常只是对资源的 GET 请求并且没有任何副作用。

    您可以改为执行 HTTP HEAD 请求,如果实施正确,您应该会获得相同的状态代码,但不会获得正文。 (即 setRequestMethod(HEAD))

    【讨论】:

      【解决方案3】:
      Here method may be PostMethod or GetMethod 
      

      您可以通过 getStatusCode() 从 HTTP 响应消息中获取状态代码

      示例:- int statuscode=method.getStatusCode();

      【讨论】:

        猜你喜欢
        • 2011-08-27
        • 2012-07-30
        • 2013-08-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多