HttpURLConnection instance is used to make a single request but the underlying network connection to the HTTP server may be transparently shared by other instances.
The HttpURLConnection
class is used to send and receive data over the web using the HTTP protocol. Data may be of any type and length.
Uses of this class follow a pattern:
- Obtain a new
HttpURLConnection
by callingURL.openConnection()
and casting the result toHttpURLConnection
. - Prepare the request. The primary property of a request is its URI. Request headers may also include metadata such as credentials, preferred content types and session cookies.
- Optionally upload a request body. Instances must be configured with
setDoOutput(true)
if they include a request body. Transmit data by writing to the stream returned bygetOutputStream()
. - Read the response. Response headers typically include metadata such as the response body's content type and length, modified dates and session cookies. The response body may be read from the stream returned by
getInputStream()
. If the response has no body, that method returns an empty stream. - Disconnect. Once the response body has been read, the
HttpURLConnection
should be closed by callingdisconnect()
. Disconnecting releases the resources held by a connection so they may be closed or reused.
For more information visit HttpURLConnection.