Package org.htmlunit
Class WebResponse
java.lang.Object
org.htmlunit.WebResponse
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
StringWebResponse
,WebResponseWrapper
A response from a web server.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionWebResponse
(WebResponseData responseData, URL url, HttpMethod requestMethod, long loadTime) Constructs with all data.WebResponse
(WebResponseData responseData, WebRequest request, long loadTime) Constructs with all data. -
Method Summary
Modifier and TypeMethodDescriptionvoid
cleanUp()
Clean up the response data.void
Deprecated.Returns the response content as an input stream.INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.Returns the response content as a string, using the charset/encoding specified in the server response.getContentAsString
(Charset encoding) Returns the response content as a string, using the specified charset, rather than the charset/encoding specified in the server response.Returns the content charset for this response, even if no charset was specified explicitly.Deprecated.as of version 4.0.0; usegetContentCharset()
insteadlong
Returns length of the content data.Returns the content type returned from the server, e.g.Returns the content charset specified explicitly in theContent-Type
header ornull
if none was specified.long
Returns the time it took to load this web response, in milliseconds.Deprecated.For internal use only.int
Deprecated.For internal use only.Returns the response headers as a list ofNameValuePair
s.getResponseHeaderValue
(String headerName) Returns the value of the specified response header.int
Returns the status code that was returned by the server.Returns the status message that was returned from the server.Returns the request used to load this response.boolean
boolean
boolean
void
markAsBlocked
(String blockReason) Sets the wasBlocked state to true.void
setProtocolVersion
(String protocolVersion) Deprecated.For internal use only.void
setRawSize
(int size) Deprecated.For internal use only.boolean
boolean
Returns whether the charset of the previous call togetContentCharset()
was "tentative".
-
Constructor Details
-
WebResponse
Constructs with all data.- Parameters:
responseData
- Data that was send backurl
- Where this response came fromrequestMethod
- the method used to get this responseloadTime
- How long the response took to be sent
-
WebResponse
Constructs with all data.- Parameters:
responseData
- Data that was send backrequest
- the request used to get this responseloadTime
- How long the response took to be sent
-
-
Method Details
-
getWebRequest
Returns the request used to load this response.- Returns:
- the request used to load this response
-
getResponseHeaders
Returns the response headers as a list ofNameValuePair
s.- Returns:
- the response headers as a list of
NameValuePair
s
-
getResponseHeaderValue
Returns the value of the specified response header.- Parameters:
headerName
- the name of the header whose value is to be returned- Returns:
- the header value,
null
if no response header exists with this name
-
getStatusCode
public int getStatusCode()Returns the status code that was returned by the server.- Returns:
- the status code that was returned by the server
-
getStatusMessage
Returns the status message that was returned from the server.- Returns:
- the status message that was returned from the server
-
getContentType
Returns the content type returned from the server, e.g. "text/html".- Returns:
- the content type returned from the server, e.g. "text/html"
-
getHeaderContentCharset
Returns the content charset specified explicitly in theContent-Type
header ornull
if none was specified.- Returns:
- the content charset specified header or
null
if none was specified
-
getContentCharsetOrNull
Deprecated.as of version 4.0.0; usegetContentCharset()
insteadReturns the content charset specified explicitly in the header or in the content, ornull
if none was specified.- Returns:
- the content charset specified explicitly in the header or in the content,
or
null
if none was specified
-
getContentCharset
Returns the content charset for this response, even if no charset was specified explicitly.This method always returns a valid charset. This method first checks the
Content-Type
header or in the content BOM for viable charset. If not found, it attempts to determine the charset based on the type of the content. As a last resort, this method returns the value ofWebRequest.getDefaultResponseContentCharset()
which isStandardCharsets.UTF_8
by default.- Returns:
- the content charset for this response
-
wasContentCharsetTentative
public boolean wasContentCharsetTentative()Returns whether the charset of the previous call togetContentCharset()
was "tentative".A charset is classed as "tentative" if its detection is prone to false positive/negatives.
For example, HTML meta-tag sniffing can be fooled by text that looks-like-a-meta-tag inside JavaScript code (false positive) or if the meta-tag is after the first 1024 bytes (false negative).
- Returns:
true
if the charset of the previous call togetContentCharset()
was "tentative".- See Also:
-
getContentAsString
Returns the response content as a string, using the charset/encoding specified in the server response.- Returns:
- the response content as a string, using the charset/encoding specified in the server response or null if the content retrieval was failing
-
getContentAsString
Returns the response content as a string, using the specified charset, rather than the charset/encoding specified in the server response. If there is a bom header the charset parameter will be overwritten by the bom.- Parameters:
encoding
- the charset/encoding to use to convert the response content into a string- Returns:
- the response content as a string or null if the content retrieval was failing
-
getContentLength
public long getContentLength()Returns length of the content data.- Returns:
- the length
-
getContentAsStream
Returns the response content as an input stream.- Returns:
- the response content as an input stream
- Throws:
IOException
- in case of IOProblems
-
getContentAsStreamWithBomIfApplicable
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.- Returns:
- the associated InputStream wrapped with a bom input stream if applicable
- Throws:
IOException
- in case of IO problems
-
getLoadTime
public long getLoadTime()Returns the time it took to load this web response, in milliseconds.- Returns:
- the time it took to load this web response, in milliseconds
-
cleanUp
public void cleanUp()Clean up the response data. -
defaultCharsetUtf8
Deprecated.as of version 4.0.0; useWebRequest.setDefaultResponseContentCharset(Charset)
insteadMark this response for using UTF-8 as default charset. -
isSuccess
public boolean isSuccess()- Returns:
- true if the 2xx
-
isSuccessOrUseProxy
public boolean isSuccessOrUseProxy()- Returns:
- true if the 2xx or 305
-
isSuccessOrUseProxyOrNotModified
public boolean isSuccessOrUseProxyOrNotModified()- Returns:
- true if the 2xx or 305
-
wasBlocked
public boolean wasBlocked()- Returns:
- true if the request was blocked
-
getBlockReason
- Returns:
- the reason for blocking or null
-
markAsBlocked
Sets the wasBlocked state to true.- Parameters:
blockReason
- the reason
-
getRawSize
Deprecated.For internal use only. Will be removed in next release.Returns the raw size of this response.- Returns:
- this response's raw size
-
setRawSize
Deprecated.For internal use only. Will be removed in next release.Sets the raw size of this response.- Parameters:
size
- the raw size in bytes
-
getProtocolVersion
Deprecated.For internal use only.Returns the protocol version of this response, for example "HTTP/1.1".- Returns:
- the protocol version
-
setProtocolVersion
Deprecated.For internal use only.Sets the protocol version of this response, for example "HTTP/1.1".- Parameters:
protocolVersion
- the protocol version
-
WebRequest.setDefaultResponseContentCharset(Charset)
instead