org.jsoup
Interface Connection

All Known Implementing Classes:
HttpConnection

public interface Connection

A Connection provides a convenient interface to fetch content from the web, and parse them into Documents.

To get a new Connection, use Jsoup.connect(String). Connections contain Connection.Request and Connection.Response objects. The request objects are reusable as prototype requests.

Request configuration can be made using either the shortcut methods in Connection (e.g. userAgent(String)), or by methods in the Connection.Request object directly. All request configuration must be made before the request is executed.

The Connection interface is currently in beta and subject to change. Comments, suggestions, and bug reports are welcome.


Nested Class Summary
static interface Connection.Base<T extends Connection.Base>
          Common methods for Requests and Responses
static interface Connection.KeyVal
          A Key Value tuple.
static class Connection.Method
          GET and POST http methods.
static interface Connection.Request
          Represents a HTTP request.
static interface Connection.Response
          Represents a HTTP response.
 
Method Summary
 Connection cookie(String name, String value)
          Set a cookie to be sent in the request.
 Connection cookies(Map<String,String> cookies)
          Adds each of the supplied cookies to the request.
 Connection data(Map<String,String> data)
          Adds all of the supplied data to the request data parameters
 Connection data(String... keyvals)
          Add a number of request data parameters.
 Connection data(String key, String value)
          Add a request data parameter.
 Connection.Response execute()
          Execute the request.
 Connection followRedirects(boolean followRedirects)
          Configures the connection to (not) follow server redirects.
 Document get()
          Execute the request as a GET, and parse the result.
 Connection header(String name, String value)
          Set a request header.
 Connection ignoreContentType(boolean ignoreContentType)
          Ignore the document's Content-Type when parsing the response.
 Connection ignoreHttpErrors(boolean ignoreHttpErrors)
          Configures the connection to not throw exceptions when a HTTP error occurs.
 Connection method(Connection.Method method)
          Set the request method to use, GET or POST.
 Connection parser(Parser parser)
          Provide an alternate parser to use when parsing the response to a Document.
 Document post()
          Execute the request as a POST, and parse the result.
 Connection referrer(String referrer)
          Set the request referrer (aka "referer") header.
 Connection.Request request()
          Get the request object associated with this connection
 Connection request(Connection.Request request)
          Set the connection's request
 Connection.Response response()
          Get the response, once the request has been executed
 Connection response(Connection.Response response)
          Set the connection's response
 Connection timeout(int millis)
          Set the request timeouts (connect and read).
 Connection url(String url)
          Set the request URL to fetch.
 Connection url(URL url)
          Set the request URL to fetch.
 Connection userAgent(String userAgent)
          Set the request user-agent header.
 

Method Detail

url

Connection url(URL url)
Set the request URL to fetch. The protocol must be HTTP or HTTPS.

Parameters:
url - URL to connect to
Returns:
this Connection, for chaining

url

Connection url(String url)
Set the request URL to fetch. The protocol must be HTTP or HTTPS.

Parameters:
url - URL to connect to
Returns:
this Connection, for chaining

userAgent

Connection userAgent(String userAgent)
Set the request user-agent header.

Parameters:
userAgent - user-agent to use
Returns:
this Connection, for chaining

timeout

Connection timeout(int millis)
Set the request timeouts (connect and read). If a timeout occurs, an IOException will be thrown. The default timeout is 3 seconds (3000 millis). A timeout of zero is treated as an infinite timeout.

Parameters:
millis - number of milliseconds (thousandths of a second) before timing out connects or reads.
Returns:
this Connection, for chaining

referrer

Connection referrer(String referrer)
Set the request referrer (aka "referer") header.

Parameters:
referrer - referrer to use
Returns:
this Connection, for chaining

followRedirects

Connection followRedirects(boolean followRedirects)
Configures the connection to (not) follow server redirects. By default this is true.

Parameters:
followRedirects - true if server redirects should be followed.
Returns:
this Connection, for chaining

method

Connection method(Connection.Method method)
Set the request method to use, GET or POST. Default is GET.

Parameters:
method - HTTP request method
Returns:
this Connection, for chaining

ignoreHttpErrors

Connection ignoreHttpErrors(boolean ignoreHttpErrors)
Configures the connection to not throw exceptions when a HTTP error occurs. (4xx - 5xx, e.g. 404 or 500). By default this is false; an IOException is thrown if an error is encountered. If set to true, the response is populated with the error body, and the status message will reflect the error.

Parameters:
ignoreHttpErrors - - false (default) if HTTP errors should be ignored.
Returns:
this Connection, for chaining

ignoreContentType

Connection ignoreContentType(boolean ignoreContentType)
Ignore the document's Content-Type when parsing the response. By default this is false, an unrecognised content-type will cause an IOException to be thrown. (This is to prevent producing garbage by attempting to parse a JPEG binary image, for example.) Set to true to force a parse attempt regardless of content type.

Parameters:
ignoreContentType - set to true if you would like the content type ignored on parsing the response into a Document.
Returns:
this Connection, for chaining

data

Connection data(String key,
                String value)
Add a request data parameter. Request parameters are sent in the request query string for GETs, and in the request body for POSTs. A request may have multiple values of the same name.

Parameters:
key - data key
value - data value
Returns:
this Connection, for chaining

data

Connection data(Map<String,String> data)
Adds all of the supplied data to the request data parameters

Parameters:
data - map of data parameters
Returns:
this Connection, for chaining

data

Connection data(String... keyvals)
Add a number of request data parameters. Multiple parameters may be set at once, e.g.: .data("name", "jsoup", "language", "Java", "language", "English"); creates a query string like: ?name=jsoup&language=Java&language=English

Parameters:
keyvals - a set of key value pairs.
Returns:
this Connection, for chaining

header

Connection header(String name,
                  String value)
Set a request header.

Parameters:
name - header name
value - header value
Returns:
this Connection, for chaining
See Also:
Connection.Base.headers()

cookie

Connection cookie(String name,
                  String value)
Set a cookie to be sent in the request.

Parameters:
name - name of cookie
value - value of cookie
Returns:
this Connection, for chaining

cookies

Connection cookies(Map<String,String> cookies)
Adds each of the supplied cookies to the request.

Parameters:
cookies - map of cookie name -> value pairs
Returns:
this Connection, for chaining

parser

Connection parser(Parser parser)
Provide an alternate parser to use when parsing the response to a Document.

Parameters:
parser - alternate parser
Returns:
this Connection, for chaining

get

Document get()
             throws IOException
Execute the request as a GET, and parse the result.

Returns:
parsed Document
Throws:
IOException - on error

post

Document post()
              throws IOException
Execute the request as a POST, and parse the result.

Returns:
parsed Document
Throws:
IOException - on error

execute

Connection.Response execute()
                            throws IOException
Execute the request.

Returns:
a response object
Throws:
IOException - on error

request

Connection.Request request()
Get the request object associated with this connection

Returns:
request

request

Connection request(Connection.Request request)
Set the connection's request

Parameters:
request - new request object
Returns:
this Connection, for chaining

response

Connection.Response response()
Get the response, once the request has been executed

Returns:
response

response

Connection response(Connection.Response response)
Set the connection's response

Parameters:
response - new response
Returns:
this Connection, for chaining


Copyright © 2009-2012 Jonathan Hedley. All Rights Reserved.