| java.lang.Object | |
| ↳ | java.net.URLConnection | 
|  Known Direct Subclasses | 
|  Known Indirect Subclasses | 
A connection to a URL for reading or writing. For HTTP connections, see
 HttpURLConnection for documentation of HTTP-specific features.
 
For example, to retrieve ftp://mirror.csclub.uwaterloo.ca/index.html: 
   URL url = new URL("ftp://mirror.csclub.uwaterloo.ca/index.html");
   URLConnection urlConnection = url.openConnection();
   InputStream in = new BufferedInputStream(urlConnection.getInputStream());
   try {
     readStream(in);
    finally {
     in.close();
   }
 }
 URLConnection must be configured before it has connected to the
 remote resource. Instances of URLConnection are not reusable: you
 must use a different instance for each connection to a resource.
 
URLConnection supports two timeouts: a connect timeout and a read timeout. By default,
 operations never time out.
 file:
      URIs. File connections can only be used for input.
   By default, FTP connections will be made using anonymous as
      the username and the empty string as the password. Specify alternate
      usernames and passwords in the URL: ftp://username:password@host/path.
   
HttpURLConnection and HttpsURLConnection subclasses.
   JarURLConnection subclass.
 setURLStreamHandlerFactory(URLStreamHandlerFactory) to register handlers for other
 protocol types.
| Fields | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| allowUserInteraction | Unused by Android. | ||||||||||
| connected | Specifies whether this URLConnectionis already connected to the
 remote resource. | ||||||||||
| doInput | Specifies whether this URLConnectionallows receiving data. | ||||||||||
| doOutput | Specifies whether this URLConnectionallows sending data. | ||||||||||
| ifModifiedSince | The data must be modified more recently than this time in milliseconds since January 1, 1970, GMT to be transmitted. | ||||||||||
| url | The URL which represents the remote target of this URLConnection. | ||||||||||
| useCaches | Specifies whether the using of caches is enabled or the data has to be recent for every request. | ||||||||||
| Protected Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Creates a new  URLConnectioninstance pointing to the resource
 specified by the given URL. | |||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Adds the given property to the request header. | |||||||||||
| Opens a connection to the resource. | |||||||||||
| Returns  allowUserInteraction. | |||||||||||
| Returns the connect timeout in milliseconds. | |||||||||||
| Returns an object representing the content of the resource this  URLConnectionis connected to. | |||||||||||
| Returns an object representing the content of the resource this  URLConnectionis connected to. | |||||||||||
| Returns the content encoding type specified by the response header field
  content-encodingornullif this field is not set. | |||||||||||
| Returns the content length in bytes specified by the response header field
  content-lengthor-1if this field is not set. | |||||||||||
| Returns the MIME-type of the content specified by the response header field
  content-typeornullif type is unknown. | |||||||||||
| Returns the timestamp when this response has been sent as a date in
 milliseconds since January 1, 1970 GMT or  0if this timestamp is
 unknown. | |||||||||||
| Returns the default value of  allowUserInteraction. | |||||||||||
| 
      This method was deprecated
      in API level 1.
    Use  getRequestProperty(String)instead. | |||||||||||
| Returns the default setting whether this connection allows using caches. | |||||||||||
| Returns the value of the option  doInputwhich specifies whether this
 connection allows to receive data. | |||||||||||
| Returns the value of the option  doOutputwhich specifies whether
 this connection allows to send data. | |||||||||||
| Returns the timestamp when this response will be expired in milliseconds
 since January 1, 1970 GMT or  0if this timestamp is unknown. | |||||||||||
| Returns the table which is used by all  URLConnectioninstances to
 determine the MIME-type according to a file extension. | |||||||||||
| Returns the value of the header field specified by  keyornullif there is no field with this name. | |||||||||||
| Returns the header value at the field position  posornullif the header has fewer thanposfields. | |||||||||||
| Returns the specified header value as a date in milliseconds since January
 1, 1970 GMT. | |||||||||||
| Returns the specified header value as a number. | |||||||||||
| Returns the name of the header field at the given position  posnornullif there are fewer thanposnfields. | |||||||||||
| Returns an unmodifiable map of the response-header fields and values. | |||||||||||
| Returns the point of time since when the data must be modified to be
 transmitted. | |||||||||||
| Returns an  InputStreamfor reading data from the resource pointed by
 thisURLConnection. | |||||||||||
| Returns the value of the response header field  last-modifiedor0if this value is not set. | |||||||||||
| Returns an  OutputStreamfor writing data to thisURLConnection. | |||||||||||
| Returns a  Permissionobject representing all needed permissions to
 open this connection. | |||||||||||
| Returns the read timeout in milliseconds, or  0if reads never
 timeout. | |||||||||||
| Returns an unmodifiable map of general request properties used by this
 connection. | |||||||||||
| Returns the value of the request header property specified by {code field}
 or  nullif there is no field with this name. | |||||||||||
| Returns the URL represented by this  URLConnection. | |||||||||||
| Returns the value of the flag which specifies whether this  URLConnectionallows to use caches. | |||||||||||
| Determines the MIME-type of the given resource  urlby resolving
 the filename extension with the internal FileNameMap. | |||||||||||
| Determines the MIME-type of the resource represented by the input stream
  isby reading its first few characters. | |||||||||||
| Sets  allowUserInteraction. | |||||||||||
| Sets the maximum time in milliseconds to wait while connecting. | |||||||||||
| Sets the internally used content handler factory. | |||||||||||
| Sets the default value for  allowUserInteraction. | |||||||||||
| 
      This method was deprecated
      in API level 1.
    Use  setRequestProperty(String, String)instead. | |||||||||||
| Sets the default value for the flag indicating whether this connection
 allows to use caches. | |||||||||||
| Sets the flag indicating whether this  URLConnectionallows input. | |||||||||||
| Sets the flag indicating whether this  URLConnectionallows
 output. | |||||||||||
| Sets the internal map which is used by all  URLConnectioninstances to determine the MIME-type according to a filename extension. | |||||||||||
| Sets the point of time since when the data must be modified to be
 transmitted. | |||||||||||
| Sets the maximum time to wait for an input stream read to complete before
 giving up. | |||||||||||
| Sets the value of the specified request header field. | |||||||||||
| Sets the flag indicating whether this connection allows to use caches or
 not. | |||||||||||
| Returns the string representation containing the name of this class and
 the URL. | |||||||||||
| [Expand] Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|  From class
  java.lang.Object | |||||||||||
Unused by Android. This field can be accessed via getAllowUserInteraction()
 and setAllowUserInteraction(boolean).
Specifies whether this URLConnection is already connected to the
 remote resource. If this field is set to true the flags for
 setting up the connection are not changeable anymore.
Specifies whether this URLConnection allows receiving data.
Specifies whether this URLConnection allows sending data.
The data must be modified more recently than this time in milliseconds since January 1, 1970, GMT to be transmitted.
The URL which represents the remote target of this URLConnection.
Specifies whether the using of caches is enabled or the data has to be recent for every request.
Creates a new URLConnection instance pointing to the resource
 specified by the given URL.
| url | the URL which represents the resource this URLConnectionwill point to. | 
|---|
Adds the given property to the request header. Existing properties with the same name will not be overwritten by this method.
| field | the request property field name to add. | 
|---|---|
| newValue | the value of the property which is to add. | 
| IllegalStateException | if the connection has been already established. | 
|---|---|
| NullPointerException | if the property name is null. | 
Opens a connection to the resource. This method will not reconnect to a resource after the initial connection has been closed.
| IOException | if an error occurs while connecting to the resource. | 
|---|
Returns allowUserInteraction. Unused by Android.
Returns the connect timeout in milliseconds. (See {#setConnectTimeout}.)
Returns an object representing the content of the resource this URLConnection is connected to. First, it attempts to get the content
 type from the method getContentType() which looks at the response
 header field "Content-Type". If none is found it will guess the content
 type from the filename extension. If that fails the stream itself will be
 used to guess the content type.
| IOException | if an error occurs obtaining the content. | 
|---|
Returns an object representing the content of the resource this URLConnection is connected to. First, it attempts to get the content
 type from the method getContentType() which looks at the response
 header field "Content-Type". If none is found it will guess the content
 type from the filename extension. If that fails the stream itself will be
 used to guess the content type. The content type must match with one of
 the list types.
| types | the list of acceptable content types. | 
|---|
null if the content
         type does not match with one of the specified types.| IOException | if an error occurs obtaining the content. | 
|---|
Returns the content encoding type specified by the response header field
 content-encoding or null if this field is not set.
content-encoding.
Returns the content length in bytes specified by the response header field
 content-length or -1 if this field is not set.
content-length.
Returns the MIME-type of the content specified by the response header field
 content-type or null if type is unknown.
content-type.
Returns the timestamp when this response has been sent as a date in
 milliseconds since January 1, 1970 GMT or 0 if this timestamp is
 unknown.
Returns the default value of allowUserInteraction. Unused by Android.
Returns the default setting whether this connection allows using caches.
defaultUseCaches.Returns the value of the option doInput which specifies whether this
 connection allows to receive data.
true if this connection allows input, false
         otherwise.Returns the value of the option doOutput which specifies whether
 this connection allows to send data.
true if this connection allows output, false
         otherwise.Returns the timestamp when this response will be expired in milliseconds
 since January 1, 1970 GMT or 0 if this timestamp is unknown.
expires.
Returns the table which is used by all URLConnection instances to
 determine the MIME-type according to a file extension.
Returns the value of the header field specified by key or null if there is no field with this name. The base implementation of
 this method returns always null.
 
Some implementations (notably HttpURLConnection) include a mapping
 for the null key; in HTTP's case, this maps to the HTTP status line and is
 treated as being at position 0 when indexing into the header fields.
| key | the name of the header field. | 
|---|
Returns the header value at the field position pos or null
 if the header has fewer than pos fields. The base
 implementation of this method returns always null.
 
Some implementations (notably HttpURLConnection) include a mapping
 for the null key; in HTTP's case, this maps to the HTTP status line and is
 treated as being at position 0 when indexing into the header fields.
| pos | the field position of the response header. | 
|---|
pos.
Returns the specified header value as a date in milliseconds since January
 1, 1970 GMT. Returns the defaultValue if no such header field
 could be found.
| field | the header field name whose value is needed. | 
|---|---|
| defaultValue | the default value if no field has been found. | 
Returns the specified header value as a number. Returns the defaultValue if no such header field could be found or the value could
 not be parsed as an Integer.
| field | the header field name whose value is needed. | 
|---|---|
| defaultValue | the default value if no field has been found. | 
Returns the name of the header field at the given position posn or
 null if there are fewer than posn fields. The base
 implementation of this method returns always null.
 
Some implementations (notably HttpURLConnection) include a mapping
 for the null key; in HTTP's case, this maps to the HTTP status line and is
 treated as being at position 0 when indexing into the header fields.
| posn | the position of the header field which has to be returned. | 
|---|
Returns an unmodifiable map of the response-header fields and values. The response-header field names are the key values of the map. The map values are lists of header field values associated with a particular key name.
Some implementations (notably HttpURLConnection) include a mapping
 for the null key; in HTTP's case, this maps to the HTTP status line and is
 treated as being at position 0 when indexing into the header fields.
Returns the point of time since when the data must be modified to be transmitted. Some protocols transmit data only if it has been modified more recently than a particular time.
Returns an InputStream for reading data from the resource pointed by
 this URLConnection. It throws an UnknownServiceException by
 default. This method must be overridden by its subclasses.
| IOException | if no InputStream could be created. | 
|---|
Returns the value of the response header field last-modified or
 0 if this value is not set.
last-modified header field.
Returns an OutputStream for writing data to this URLConnection. It throws an UnknownServiceException by default.
 This method must be overridden by its subclasses.
| IOException | if no OutputStream could be created. | 
|---|
Returns a Permission object representing all needed permissions to
 open this connection. The returned permission object depends on the state
 of the connection and will be null if no permissions are
 necessary. By default, this method returns AllPermission.
 Subclasses should overwrite this method to return an appropriate
 permission object.
| IOException | if an I/O error occurs while creating the permission object. | 
|---|
Returns the read timeout in milliseconds, or 0 if reads never
 timeout.
Returns an unmodifiable map of general request properties used by this connection. The request property names are the key values of the map. The map values are lists of property values of the corresponding key name.
Returns the value of the request header property specified by {code field}
 or null if there is no field with this name. The base
 implementation of this method returns always null.
| field | the name of the request header property. | 
|---|
| IllegalStateException | if the connection has been already established. | 
|---|
Returns the URL represented by this URLConnection.
Returns the value of the flag which specifies whether this URLConnection allows to use caches.
true if using caches is allowed, false otherwise.
Determines the MIME-type of the given resource url by resolving
 the filename extension with the internal FileNameMap. Any fragment
 identifier is removed before processing.
| url | the URL with the filename to get the MIME type. | 
|---|
null if the type could not be
         determined.
Determines the MIME-type of the resource represented by the input stream
 is by reading its first few characters.
| is | the resource representing input stream to determine the content type. | 
|---|
null if the type could not be
         determined.| IOException | if an I/O error occurs while reading from the input stream. | 
|---|
Sets allowUserInteraction. Unused by Android.
Sets the maximum time in milliseconds to wait while connecting.
 Connecting to a server will fail with a SocketTimeoutException if
 the timeout elapses before a connection is established. The default value
 of 0 causes us to do a blocking connect. This does not mean we
 will never time out, but it probably means you'll get a TCP timeout
 after several minutes.
 
Warning: if the hostname resolves to multiple IP addresses, this client will try each in RFC 3484 order. If connecting to each of these addresses fails, multiple timeouts will elapse before the connect attempt throws an exception. Host names that support both IPv6 and IPv4 always have at least 2 IP addresses.
| IllegalArgumentException | if timeoutMillis < 0. | 
|---|
Sets the internally used content handler factory. The content factory can only be set once during the lifetime of the application.
| contentFactory | the content factory to be set. | 
|---|
| Error | if the factory has been already set. | 
|---|
Sets the default value for allowUserInteraction. Unused by Android.
      This method was deprecated
      in API level 1.
    Use setRequestProperty(String, String) instead.
  
Does nothing.
Sets the default value for the flag indicating whether this connection
 allows to use caches. Existing URLConnections are unaffected.
| newValue | the default value of the flag to be used for new connections. | 
|---|
Sets the flag indicating whether this URLConnection allows input.
 It cannot be set after the connection is established.
| newValue | the new value for the flag to be set. | 
|---|
| IllegalAccessError | if this method attempts to change the value after the connection has been already established. | 
|---|
Sets the flag indicating whether this URLConnection allows
 output. It cannot be set after the connection is established.
| newValue | the new value for the flag to be set. | 
|---|
| IllegalAccessError | if this method attempts to change the value after the connection has been already established. | 
|---|
Sets the internal map which is used by all URLConnection
 instances to determine the MIME-type according to a filename extension.
| map | the MIME table to be set. | 
|---|
Sets the point of time since when the data must be modified to be
 transmitted. Some protocols transmit data only if it has been modified
 more recently than a particular time. The data will be transmitted
 regardless of its timestamp if this option is set to 0.
| newValue | the time in milliseconds since January 1, 1970 GMT. | 
|---|
| IllegalStateException | if this URLConnectionhas already been connected. | 
|---|
Sets the maximum time to wait for an input stream read to complete before
 giving up. Reading will fail with a SocketTimeoutException if the
 timeout elapses before data becomes available. The default value of
 0 disables read timeouts; read attempts will block indefinitely.
| timeoutMillis | the read timeout in milliseconds. Non-negative. | 
|---|
Sets the value of the specified request header field. The value will only
 be used by the current URLConnection instance. This method can
 only be called before the connection is established.
| field | the request header field to be set. | 
|---|---|
| newValue | the new value of the specified property. | 
| IllegalStateException | if the connection has been already established. | 
|---|---|
| NullPointerException | if the parameter fieldisnull. | 
Sets the flag indicating whether this connection allows to use caches or not. This method can only be called prior to the connection establishment.
| newValue | the value of the flag to be set. | 
|---|
| IllegalStateException | if this method attempts to change the flag after the connection has been established. | 
|---|
Returns the string representation containing the name of this class and the URL.
URLConnection instance.