Module java.net.http
Package java.net.http

Interface HttpResponse<T>

类型参数:
T - 响应体类型

public interface HttpResponse<T>
一个HTTP响应。

HttpResponse不是直接创建的,而是作为发送HttpRequest的结果返回。当响应状态码和头部已经接收到,通常在响应体也完全接收到之后,HttpResponse就可用了。是否在响应体完全接收到之前就可用取决于发送HttpRequest时提供的BodyHandler

这个类提供了访问响应状态码、头部、响应体以及对应于此响应的HttpRequest的方法。

以下是检索响应作为字符串的示例:

HttpResponse<String> response = client
  .send(request, BodyHandlers.ofString());

BodyHandlers类提供了许多常见响应处理程序的实现。或者,可以使用自定义的BodyHandler实现。

自 JDK 版本:
11
  • Method Details

    • statusCode

      int statusCode()
      返回此响应的状态码。
      返回:
      响应码
    • request

      HttpRequest request()
      返回对应于此响应的HttpRequest

      返回的HttpRequest可能不是发送时提供的初始请求。例如,如果初始请求被重定向,那么此方法返回的请求将具有重定向的URI,这将与初始请求的URI不同。

      返回:
      请求
      参见:
    • previousResponse

      Optional<HttpResponse<T>> previousResponse()
      返回包含先前中间响应(如果有)的Optional。中间响应是由于重定向或身份验证而接收到的响应。如果没有接收到先前响应,则返回一个空的Optional
      返回:
      包含HttpResponse的Optional,如果有的话。
    • headers

      HttpHeaders headers()
      返回接收到的响应头。
      返回:
      响应头
    • body

      T body()
      返回主体。根据T的类型,返回的主体可能表示读取后的主体(例如byte[]StringPath),或者可能表示用于读取主体的对象,例如InputStream

      如果此HttpResponse是从调用previousResponse()返回的,则此方法返回null

      返回:
      主体
    • sslSession

      Optional<SSLSession> sslSession()
      返回包含此响应的有效SSLSessionOptional。如果这不是一个HTTPS响应,则返回一个空的Optional
      返回:
      包含与响应关联的SSLSessionOptional
    • uri

      URI uri()
      返回接收到响应的URI。如果发生重定向,这可能与请求URI不同。
      返回:
      响应的URI
    • version

      HttpClient.Version version()
      返回用于此响应的HTTP协议版本。
      返回:
      HTTP协议版本