Class HttpConnection.Response
- All Implemented Interfaces:
-
Connection.Base<Connection.Response>
,Connection.Response
- Enclosing class:
-
HttpConnection
-
Method Summary
Modifier and TypeMethodDescriptionaddHeader
(String name, @Nullable String value) Add a header.String
body()
Get the body of the response as a plain string.byte[]
Get the body of the response as an array of bytes.Get the body of the response as a (buffered) InputStream.bufferUp()
Read the body of the response into a local buffer, so thatConnection.Response.parse()
may be called repeatedly on the same connection response.String
charset()
Get the character set name of the response, derived from the content-type header.charset
(String charset) Set / override the response character set.String
Get the response content type (e.g.String
cookie
(String name) Get a cookie value by name from this request/response.cookie
(String name, String value) Set a cookie in this request/response.Map
<String, String> cookies()
Retrieve the request/response cookies as a map.boolean
hasCookie
(String name) Check if a cookie is presentboolean
hasHeader
(String name) Check if a header is presentboolean
hasHeaderWithValue
(String name, String value) Test if the request has a header with this value (case insensitive).String
header
(String name) Get the value of a header.header
(String name, String value) Set a header.Map
<String, String> headers()
Retrieve all of the request/response header names and corresponding values as a map.List
<String> headers
(String name) Get the values of a header.method()
Get the request method, which defaults toGET
method
(Connection.Method method) Set the request methodMap
<String, List<String>> Retreive all of the headers, keyed by the header name, and with a list of values per header.parse()
Read and parse the body of the response as a Document.removeCookie
(String name) Remove a cookie by nameremoveHeader
(String name) Remove headers by name.int
Get the status code of the response.String
Get the status message of the response.Returns aStreamParser
that will parse the Response progressively.url()
Get the URL of this Request or Response.Set the URLMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.jsoup.Connection.Base
addHeader, cookie, cookie, cookies, hasCookie, hasHeader, hasHeaderWithValue, header, header, headers, headers, method, method, multiHeaders, removeCookie, removeHeader, url, url
-
Method Details
-
statusCode
public int statusCode()Description copied from interface:Connection.Response
Get the status code of the response.- Specified by:
-
statusCode
in interfaceConnection.Response
- Returns:
- status code
-
statusMessage
public String statusMessage()Description copied from interface:Connection.Response
Get the status message of the response.- Specified by:
-
statusMessage
in interfaceConnection.Response
- Returns:
- status message
-
charset
public String charset()Description copied from interface:Connection.Response
Get the character set name of the response, derived from the content-type header.- Specified by:
-
charset
in interfaceConnection.Response
- Returns:
- character set name if set, null if not
-
charset
Description copied from interface:Connection.Response
Set / override the response character set. When the document body is parsed it will be with this charset.- Specified by:
-
charset
in interfaceConnection.Response
- Parameters:
-
charset
- to decode body as - Returns:
- this Response, for chaining
-
contentType
public String contentType()Description copied from interface:Connection.Response
Get the response content type (e.g. "text/html");- Specified by:
-
contentType
in interfaceConnection.Response
- Returns:
- the response content type, or null if one was not set
-
parse
Description copied from interface:Connection.Response
Read and parse the body of the response as a Document. If you intend to parse the same response multiple times, you shouldConnection.Response.bufferUp()
first.- Specified by:
-
parse
in interfaceConnection.Response
- Returns:
- a parsed Document
- Throws:
-
IOException
- on error
-
streamParser
Description copied from interface:Connection.Response
Returns aStreamParser
that will parse the Response progressively.- Specified by:
-
streamParser
in interfaceConnection.Response
- Returns:
- a StreamParser, prepared to parse this response.
- Throws:
-
IOException
- if an IO exception occurs preparing the parser.
-
body
public String body()Description copied from interface:Connection.Response
Get the body of the response as a plain string.- Specified by:
-
body
in interfaceConnection.Response
- Returns:
- body
-
bodyAsBytes
public byte[] bodyAsBytes()Description copied from interface:Connection.Response
Get the body of the response as an array of bytes.- Specified by:
-
bodyAsBytes
in interfaceConnection.Response
- Returns:
- body bytes
-
bufferUp
Description copied from interface:Connection.Response
Read the body of the response into a local buffer, so thatConnection.Response.parse()
may be called repeatedly on the same connection response. Otherwise, once the response is read, its InputStream will have been drained and may not be re-read.Calling
Connection.Response.body()
orConnection.Response.bodyAsBytes()
has the same effect.- Specified by:
-
bufferUp
in interfaceConnection.Response
- Returns:
- this response, for chaining
-
bodyStream
Description copied from interface:Connection.Response
Get the body of the response as a (buffered) InputStream. You should close the input stream when you're done with it.Other body methods (like bufferUp, body, parse, etc) will generally not work in conjunction with this method, as it consumes the InputStream.
Any configured max size or maximum read timeout applied to the connection will not be applied to this stream, unless
Connection.Response.bufferUp()
is called prior.This method is useful for writing large responses to disk, without buffering them completely into memory first.
- Specified by:
-
bodyStream
in interfaceConnection.Response
- Returns:
- the response body input stream
-
url
Description copied from interface:Connection.Base
Get the URL of this Request or Response. For redirected responses, this will be the final destination URL.- Specified by:
-
url
in interfaceConnection.Base<T extends Connection.Base<T>>
- Returns:
- URL
-
url
Description copied from interface:Connection.Base
Set the URL- Specified by:
-
url
in interfaceConnection.Base<T extends Connection.Base<T>>
- Parameters:
-
url
- new URL - Returns:
- this, for chaining
-
method
Description copied from interface:Connection.Base
Get the request method, which defaults toGET
- Specified by:
-
method
in interfaceConnection.Base<T extends Connection.Base<T>>
- Returns:
- method
-
method
Description copied from interface:Connection.Base
Set the request method- Specified by:
-
method
in interfaceConnection.Base<T extends Connection.Base<T>>
- Parameters:
-
method
- new method - Returns:
- this, for chaining
-
header
public String header(String name) Description copied from interface:Connection.Base
Get the value of a header. If there is more than one header value with the same name, the headers are returned comma separated, per rfc2616-sec4.Header names are case-insensitive.
- Specified by:
-
header
in interfaceConnection.Base<T extends Connection.Base<T>>
- Parameters:
-
name
- name of header (case-insensitive) - Returns:
- value of header, or null if not set.
- See Also:
-
addHeader
Description copied from interface:Connection.Base
Add a header. The header will be added regardless of whether a header with the same name already exists.For compatibility, if the content of the header includes text that cannot be represented by ISO-8859-1, then it should be encoded first per RFC 2047.
- Specified by:
-
addHeader
in interfaceConnection.Base<T extends Connection.Base<T>>
- Parameters:
-
name
- Name of new header -
value
- Value of new header - Returns:
- this, for chaining
-
headers
public List<String> headers(String name) Description copied from interface:Connection.Base
Get the values of a header.- Specified by:
-
headers
in interfaceConnection.Base<T extends Connection.Base<T>>
- Parameters:
-
name
- header name, case-insensitive. - Returns:
- a list of values for this header, or an empty list if not set.
-
header
Description copied from interface:Connection.Base
Set a header. This method will overwrite any existing header with the same case-insensitive name. If there is more than one value for this header, this method will update the first matching header.For compatibility, if the content of the header includes text that cannot be represented by ISO-8859-1, then it should be encoded first per RFC 2047.
- Specified by:
-
header
in interfaceConnection.Base<T extends Connection.Base<T>>
- Parameters:
-
name
- Name of header -
value
- Value of header - Returns:
- this, for chaining
- See Also:
-
hasHeader
public boolean hasHeader(String name) Description copied from interface:Connection.Base
Check if a header is present- Specified by:
-
hasHeader
in interfaceConnection.Base<T extends Connection.Base<T>>
- Parameters:
-
name
- name of header (case-insensitive) - Returns:
- if the header is present in this request/response
-
hasHeaderWithValue
public boolean hasHeaderWithValue(String name, String value) Test if the request has a header with this value (case insensitive).- Specified by:
-
hasHeaderWithValue
in interfaceConnection.Base<T extends Connection.Base<T>>
- Parameters:
-
name
- header name (case-insensitive) -
value
- value (case-insensitive) - Returns:
- if the header and value pair are set in this req/res
-
removeHeader
Description copied from interface:Connection.Base
Remove headers by name. If there is more than one header with this name, they will all be removed.- Specified by:
-
removeHeader
in interfaceConnection.Base<T extends Connection.Base<T>>
- Parameters:
-
name
- name of header to remove (case-insensitive) - Returns:
- this, for chaining
-
headers
public Map<String,String> headers()Description copied from interface:Connection.Base
Retrieve all of the request/response header names and corresponding values as a map. For headers with multiple values, only the first header is returned.Note that this is a view of the headers only, and changes made to this map will not be reflected in the request/response object.
- Specified by:
-
headers
in interfaceConnection.Base<T extends Connection.Base<T>>
- Returns:
- headers
- See Also:
-
multiHeaders
public Map<String,List<String>> multiHeaders()Description copied from interface:Connection.Base
Retreive all of the headers, keyed by the header name, and with a list of values per header.- Specified by:
-
multiHeaders
in interfaceConnection.Base<T extends Connection.Base<T>>
- Returns:
- a list of multiple values per header.
-
cookie
public String cookie(String name) Description copied from interface:Connection.Base
Get a cookie value by name from this request/response.- Specified by:
-
cookie
in interfaceConnection.Base<T extends Connection.Base<T>>
- Parameters:
-
name
- name of cookie to retrieve. - Returns:
- value of cookie, or null if not set
-
cookie
Description copied from interface:Connection.Base
Set a cookie in this request/response.- Specified by:
-
cookie
in interfaceConnection.Base<T extends Connection.Base<T>>
- Parameters:
-
name
- name of cookie -
value
- value of cookie - Returns:
- this, for chaining
-
hasCookie
public boolean hasCookie(String name) Description copied from interface:Connection.Base
Check if a cookie is present- Specified by:
-
hasCookie
in interfaceConnection.Base<T extends Connection.Base<T>>
- Parameters:
-
name
- name of cookie - Returns:
- if the cookie is present in this request/response
-
removeCookie
Description copied from interface:Connection.Base
Remove a cookie by name- Specified by:
-
removeCookie
in interfaceConnection.Base<T extends Connection.Base<T>>
- Parameters:
-
name
- name of cookie to remove - Returns:
- this, for chaining
-
cookies
public Map<String,String> cookies()Description copied from interface:Connection.Base
Retrieve the request/response cookies as a map. For response cookies, if duplicate cookie names were sent, the last one set will be the one included. For session management, rather than using these response cookies, prefer to useJsoup.newSession()
and related methods.- Specified by:
-
cookies
in interfaceConnection.Base<T extends Connection.Base<T>>
- Returns:
- simple cookie map
- See Also:
-