java.net
Class URLConnection

java.lang.Object sample code for java.lang.Object definition code for java.lang.Object 
  extended by java.net.URLConnection
Direct Known Subclasses:
HttpURLConnection sample code for java.net.HttpURLConnection definition code for java.net.HttpURLConnection , JarURLConnection sample code for java.net.JarURLConnection definition code for java.net.JarURLConnection

public abstract class URLConnection
extends Object sample code for java.lang.Object definition code for java.lang.Object

The abstract class URLConnection is the superclass of all classes that represent a communications link between the application and a URL. Instances of this class can be used both to read from and to write to the resource referenced by the URL. In general, creating a connection to a URL is a multistep process:

openConnection() connect()
Manipulate parameters that affect the connection to the remote resource. Interact with the resource; query header fields and contents.
---------------------------->
time
  1. The connection object is created by invoking the openConnection method on a URL.
  2. The setup parameters and general request properties are manipulated.
  3. The actual connection to the remote object is made, using the connect method.
  4. The remote object becomes available. The header fields and the contents of the remote object can be accessed.

The setup parameters are modified using the following methods:

and the general request properties are modified using the method:

Default values for the AllowUserInteraction and UseCaches parameters can be set using the methods setDefaultAllowUserInteraction and setDefaultUseCaches.

Each of the above set methods has a corresponding get method to retrieve the value of the parameter or general request property. The specific parameters and general request properties that are applicable are protocol specific.

The following methods are used to access the header fields and the contents after the connection is made to the remote object:

Certain header fields are accessed frequently. The methods:

provide convenient access to these fields. The getContentType method is used by the getContent method to determine the type of the remote object; subclasses may find it convenient to override the getContentType method.

In the common case, all of the pre-connection parameters and general request properties can be ignored: the pre-connection parameters and request properties default to sensible values. For most clients of this interface, there are only two interesting methods: getInputStream and getContent, which are mirrored in the URL class by convenience methods.

More information on the request properties and header fields of an http connection can be found at:

 http://www.ietf.org/rfc/rfc2068.txt
 
Note about fileNameMap: In versions prior to JDK 1.1.6, field fileNameMap of URLConnection was public. In JDK 1.1.6 and later, fileNameMap is private; accessor and mutator methods getFileNameMap sample code for java.net.URLConnection.getFileNameMap() definition code for java.net.URLConnection.getFileNameMap() and setFileNameMap sample code for java.net.URLConnection.setFileNameMap(java.net.FileNameMap) definition code for java.net.URLConnection.setFileNameMap(java.net.FileNameMap) are added to access it. This change is also described on the Compatibility page. Invoking the close() methods on the InputStream or OutputStream of an URLConnection after a request may free network resources associated with this instance, unless particular protocol specifications specify different behaviours for it.

Since:
JDK1.0
See Also:
URL.openConnection() sample code for java.net.URL.openConnection() definition code for java.net.URL.openConnection() , connect() sample code for java.net.URLConnection.connect() definition code for java.net.URLConnection.connect() , getContent() sample code for java.net.URLConnection.getContent() definition code for java.net.URLConnection.getContent() , getContentEncoding() sample code for java.net.URLConnection.getContentEncoding() definition code for java.net.URLConnection.getContentEncoding() , getContentLength() sample code for java.net.URLConnection.getContentLength() definition code for java.net.URLConnection.getContentLength() , getContentType() sample code for java.net.URLConnection.getContentType() definition code for java.net.URLConnection.getContentType() , getDate() sample code for java.net.URLConnection.getDate() definition code for java.net.URLConnection.getDate() , getExpiration() sample code for java.net.URLConnection.getExpiration() definition code for java.net.URLConnection.getExpiration() , getHeaderField(int) sample code for java.net.URLConnection.getHeaderField(int) definition code for java.net.URLConnection.getHeaderField(int) , getHeaderField(java.lang.String) sample code for java.net.URLConnection.getHeaderField(java.lang.String) definition code for java.net.URLConnection.getHeaderField(java.lang.String) , getInputStream() sample code for java.net.URLConnection.getInputStream() definition code for java.net.URLConnection.getInputStream() , getLastModified() sample code for java.net.URLConnection.getLastModified() definition code for java.net.URLConnection.getLastModified() , getOutputStream() sample code for java.net.URLConnection.getOutputStream() definition code for java.net.URLConnection.getOutputStream() , setAllowUserInteraction(boolean) sample code for java.net.URLConnection.setAllowUserInteraction(boolean) definition code for java.net.URLConnection.setAllowUserInteraction(boolean) , setDefaultUseCaches(boolean) sample code for java.net.URLConnection.setDefaultUseCaches(boolean) definition code for java.net.URLConnection.setDefaultUseCaches(boolean) , setDoInput(boolean) sample code for java.net.URLConnection.setDoInput(boolean) definition code for java.net.URLConnection.setDoInput(boolean) , setDoOutput(boolean) sample code for java.net.URLConnection.setDoOutput(boolean) definition code for java.net.URLConnection.setDoOutput(boolean) , setIfModifiedSince(long) sample code for java.net.URLConnection.setIfModifiedSince(long) definition code for java.net.URLConnection.setIfModifiedSince(long) , setRequestProperty(java.lang.String, java.lang.String) sample code for java.net.URLConnection.setRequestProperty(java.lang.String, java.lang.String) definition code for java.net.URLConnection.setRequestProperty(java.lang.String, java.lang.String) , setUseCaches(boolean) sample code for java.net.URLConnection.setUseCaches(boolean) definition code for java.net.URLConnection.setUseCaches(boolean)

Field Summary
protected  boolean allowUserInteraction sample code for java.net.URLConnection.allowUserInteraction definition code for java.net.URLConnection.allowUserInteraction
          If true, this URL is being examined in a context in which it makes sense to allow user interactions such as popping up an authentication dialog.
protected  boolean connected sample code for java.net.URLConnection.connected definition code for java.net.URLConnection.connected
          If false, this connection object has not created a communications link to the specified URL.
protected  boolean doInput sample code for java.net.URLConnection.doInput definition code for java.net.URLConnection.doInput
          This variable is set by the setDoInput method.
protected  boolean doOutput sample code for java.net.URLConnection.doOutput definition code for java.net.URLConnection.doOutput
          This variable is set by the setDoOutput method.
protected  long ifModifiedSince sample code for java.net.URLConnection.ifModifiedSince definition code for java.net.URLConnection.ifModifiedSince
          Some protocols support skipping the fetching of the object unless the object has been modified more recently than a certain time.
protected  URL sample code for java.net.URL definition code for java.net.URL url sample code for java.net.URLConnection.url definition code for java.net.URLConnection.url
          The URL represents the remote object on the World Wide Web to which this connection is opened.
protected  boolean useCaches sample code for java.net.URLConnection.useCaches definition code for java.net.URLConnection.useCaches
          If true, the protocol is allowed to use caching whenever it can.
 
Constructor Summary
protected URLConnection sample code for java.net.URLConnection.URLConnection(java.net.URL) definition code for java.net.URLConnection.URLConnection(java.net.URL) (URL sample code for java.net.URL definition code for java.net.URL  url)
          Constructs a URL connection to the specified URL.
 
Method Summary
 void addRequestProperty sample code for java.net.URLConnection.addRequestProperty(java.lang.String, java.lang.String) definition code for java.net.URLConnection.addRequestProperty(java.lang.String, java.lang.String) (String sample code for java.lang.String definition code for java.lang.String  key, String sample code for java.lang.String definition code for java.lang.String  value)
          Adds a general request property specified by a key-value pair.
abstract  void connect sample code for java.net.URLConnection.connect() definition code for java.net.URLConnection.connect() ()
          Opens a communications link to the resource referenced by this URL, if such a connection has not already been established.
 boolean getAllowUserInteraction sample code for java.net.URLConnection.getAllowUserInteraction() definition code for java.net.URLConnection.getAllowUserInteraction() ()
          Returns the value of the allowUserInteraction field for this object.
 int getConnectTimeout sample code for java.net.URLConnection.getConnectTimeout() definition code for java.net.URLConnection.getConnectTimeout() ()
          Returns setting for connect timeout.
 Object sample code for java.lang.Object definition code for java.lang.Object getContent sample code for java.net.URLConnection.getContent() definition code for java.net.URLConnection.getContent() ()
          Retrieves the contents of this URL connection.
 Object sample code for java.lang.Object definition code for java.lang.Object getContent sample code for java.net.URLConnection.getContent(java.lang.Class[]) definition code for java.net.URLConnection.getContent(java.lang.Class[]) (Class sample code for java.lang.Class definition code for java.lang.Class [] classes)
          Retrieves the contents of this URL connection.
 String sample code for java.lang.String definition code for java.lang.String getContentEncoding sample code for java.net.URLConnection.getContentEncoding() definition code for java.net.URLConnection.getContentEncoding() ()
          Returns the value of the content-encoding header field.
 int getContentLength sample code for java.net.URLConnection.getContentLength() definition code for java.net.URLConnection.getContentLength() ()
          Returns the value of the content-length header field.
 String sample code for java.lang.String definition code for java.lang.String getContentType sample code for java.net.URLConnection.getContentType() definition code for java.net.URLConnection.getContentType() ()
          Returns the value of the content-type header field.
 long getDate sample code for java.net.URLConnection.getDate() definition code for java.net.URLConnection.getDate() ()
          Returns the value of the date header field.
static boolean getDefaultAllowUserInteraction sample code for java.net.URLConnection.getDefaultAllowUserInteraction() definition code for java.net.URLConnection.getDefaultAllowUserInteraction() ()
          Returns the default value of the allowUserInteraction field.
static String sample code for java.lang.String definition code for java.lang.String getDefaultRequestProperty sample code for java.net.URLConnection.getDefaultRequestProperty(java.lang.String) definition code for java.net.URLConnection.getDefaultRequestProperty(java.lang.String) (String sample code for java.lang.String definition code for java.lang.String  key)
          Deprecated. The instance specific getRequestProperty method should be used after an appropriate instance of URLConnection is obtained.
 boolean getDefaultUseCaches sample code for java.net.URLConnection.getDefaultUseCaches() definition code for java.net.URLConnection.getDefaultUseCaches() ()
          Returns the default value of a URLConnection's useCaches flag.
 boolean getDoInput sample code for java.net.URLConnection.getDoInput() definition code for java.net.URLConnection.getDoInput() ()
          Returns the value of this URLConnection's doInput flag.
 boolean getDoOutput sample code for java.net.URLConnection.getDoOutput() definition code for java.net.URLConnection.getDoOutput() ()
          Returns the value of this URLConnection's doOutput flag.
 long getExpiration sample code for java.net.URLConnection.getExpiration() definition code for java.net.URLConnection.getExpiration() ()
          Returns the value of the expires header field.
static FileNameMap sample code for java.net.FileNameMap definition code for java.net.FileNameMap getFileNameMap sample code for java.net.URLConnection.getFileNameMap() definition code for java.net.URLConnection.getFileNameMap() ()
          Loads filename map (a mimetable) from a data file.
 String sample code for java.lang.String definition code for java.lang.String getHeaderField sample code for java.net.URLConnection.getHeaderField(int) definition code for java.net.URLConnection.getHeaderField(int) (int n)
          Returns the value for the nth header field.
 String sample code for java.lang.String definition code for java.lang.String getHeaderField sample code for java.net.URLConnection.getHeaderField(java.lang.String) definition code for java.net.URLConnection.getHeaderField(java.lang.String) (String sample code for java.lang.String definition code for java.lang.String  name)
          Returns the value of the named header field.
 long getHeaderFieldDate sample code for java.net.URLConnection.getHeaderFieldDate(java.lang.String, long) definition code for java.net.URLConnection.getHeaderFieldDate(java.lang.String, long) (String sample code for java.lang.String definition code for java.lang.String  name, long Default)
          Returns the value of the named field parsed as date.
 int getHeaderFieldInt sample code for java.net.URLConnection.getHeaderFieldInt(java.lang.String, int) definition code for java.net.URLConnection.getHeaderFieldInt(java.lang.String, int) (String sample code for java.lang.String definition code for java.lang.String  name, int Default)
          Returns the value of the named field parsed as a number.
 String sample code for java.lang.String definition code for java.lang.String getHeaderFieldKey sample code for java.net.URLConnection.getHeaderFieldKey(int) definition code for java.net.URLConnection.getHeaderFieldKey(int) (int n)
          Returns the key for the nth header field.
 Map sample code for java.util.Map definition code for java.util.Map <String sample code for java.lang.String definition code for java.lang.String ,List sample code for java.util.List definition code for java.util.List <String sample code for java.lang.String definition code for java.lang.String >> getHeaderFields sample code for java.net.URLConnection.getHeaderFields() definition code for java.net.URLConnection.getHeaderFields() ()
          Returns an unmodifiable Map of the header fields.
 long getIfModifiedSince sample code for java.net.URLConnection.getIfModifiedSince() definition code for java.net.URLConnection.getIfModifiedSince() ()
          Returns the value of this object's ifModifiedSince field.
 InputStream sample code for java.io.InputStream definition code for java.io.InputStream getInputStream sample code for java.net.URLConnection.getInputStream() definition code for java.net.URLConnection.getInputStream() ()
          Returns an input stream that reads from this open connection.
 long getLastModified sample code for java.net.URLConnection.getLastModified() definition code for java.net.URLConnection.getLastModified() ()
          Returns the value of the last-modified header field.
 OutputStream sample code for java.io.OutputStream definition code for java.io.OutputStream getOutputStream sample code for java.net.URLConnection.getOutputStream() definition code for java.net.URLConnection.getOutputStream() ()
          Returns an output stream that writes to this connection.
 Permission sample code for java.security.Permission definition code for java.security.Permission getPermission sample code for java.net.URLConnection.getPermission() definition code for java.net.URLConnection.getPermission() ()
          Returns a permission object representing the permission necessary to make the connection represented by this object.
 int getReadTimeout sample code for java.net.URLConnection.getReadTimeout() definition code for java.net.URLConnection.getReadTimeout() ()
          Returns setting for read timeout.
 Map sample code for java.util.Map definition code for java.util.Map <String sample code for java.lang.String definition code for java.lang.String ,List sample code for java.util.List definition code for java.util.List <String sample code for java.lang.String definition code for java.lang.String >> getRequestProperties sample code for java.net.URLConnection.getRequestProperties() definition code for java.net.URLConnection.getRequestProperties() ()
          Returns an unmodifiable Map of general request properties for this connection.
 String sample code for java.lang.String definition code for java.lang.String getRequestProperty sample code for java.net.URLConnection.getRequestProperty(java.lang.String) definition code for java.net.URLConnection.getRequestProperty(java.lang.String) (String sample code for java.lang.String definition code for java.lang.String  key)
          Returns the value of the named general request property for this connection.
 URL sample code for java.net.URL definition code for java.net.URL getURL sample code for java.net.URLConnection.getURL() definition code for java.net.URLConnection.getURL() ()
          Returns the value of this URLConnection's URL field.
 boolean getUseCaches sample code for java.net.URLConnection.getUseCaches() definition code for java.net.URLConnection.getUseCaches() ()
          Returns the value of this URLConnection's useCaches field.
static String sample code for java.lang.String definition code for java.lang.String guessContentTypeFromName sample code for java.net.URLConnection.guessContentTypeFromName(java.lang.String) definition code for java.net.URLConnection.guessContentTypeFromName(java.lang.String) (String sample code for java.lang.String definition code for java.lang.String  fname)
          Tries to determine the content type of an object, based on the specified "file" component of a URL.
static String sample code for java.lang.String definition code for java.lang.String guessContentTypeFromStream sample code for java.net.URLConnection.guessContentTypeFromStream(java.io.InputStream) definition code for java.net.URLConnection.guessContentTypeFromStream(java.io.InputStream) (InputStream sample code for java.io.InputStream definition code for java.io.InputStream  is)
          Tries to determine the type of an input stream based on the characters at the beginning of the input stream.
 void setAllowUserInteraction sample code for java.net.URLConnection.setAllowUserInteraction(boolean) definition code for java.net.URLConnection.setAllowUserInteraction(boolean) (boolean allowuserinteraction)
          Set the value of the allowUserInteraction field of this URLConnection.
 void setConnectTimeout sample code for java.net.URLConnection.setConnectTimeout(int) definition code for java.net.URLConnection.setConnectTimeout(int) (int timeout)
          Sets a specified timeout value, in milliseconds, to be used when opening a communications link to the resource referenced by this URLConnection.
static void setContentHandlerFactory sample code for java.net.URLConnection.setContentHandlerFactory(java.net.ContentHandlerFactory) definition code for java.net.URLConnection.setContentHandlerFactory(java.net.ContentHandlerFactory) (ContentHandlerFactory sample code for java.net.ContentHandlerFactory definition code for java.net.ContentHandlerFactory  fac)
          Sets the ContentHandlerFactory of an application.
static void setDefaultAllowUserInteraction sample code for java.net.URLConnection.setDefaultAllowUserInteraction(boolean) definition code for java.net.URLConnection.setDefaultAllowUserInteraction(boolean) (boolean defaultallowuserinteraction)
          Sets the default value of the allowUserInteraction field for all future URLConnection objects to the specified value.
static void setDefaultRequestProperty sample code for java.net.URLConnection.setDefaultRequestProperty(java.lang.String, java.lang.String) definition code for java.net.URLConnection.setDefaultRequestProperty(java.lang.String, java.lang.String) (String sample code for java.lang.String definition code for java.lang.String  key, String sample code for java.lang.String definition code for java.lang.String  value)
          Deprecated. The instance specific setRequestProperty method should be used after an appropriate instance of URLConnection is obtained. Invoking this method will have no effect.
 void setDefaultUseCaches sample code for java.net.URLConnection.setDefaultUseCaches(boolean) definition code for java.net.URLConnection.setDefaultUseCaches(boolean) (boolean defaultusecaches)
          Sets the default value of the useCaches field to the specified value.
 void setDoInput sample code for java.net.URLConnection.setDoInput(boolean) definition code for java.net.URLConnection.setDoInput(boolean) (boolean doinput)
          Sets the value of the doInput field for this URLConnection to the specified value.
 void setDoOutput sample code for java.net.URLConnection.setDoOutput(boolean) definition code for java.net.URLConnection.setDoOutput(boolean) (boolean dooutput)
          Sets the value of the doOutput field for this URLConnection to the specified value.
static void setFileNameMap sample code for java.net.URLConnection.setFileNameMap(java.net.FileNameMap) definition code for java.net.URLConnection.setFileNameMap(java.net.FileNameMap) (FileNameMap sample code for java.net.FileNameMap definition code for java.net.FileNameMap  map)
          Sets the FileNameMap.
 void setIfModifiedSince sample code for java.net.URLConnection.setIfModifiedSince(long) definition code for java.net.URLConnection.setIfModifiedSince(long) (long ifmodifiedsince)
          Sets the value of the ifModifiedSince field of this URLConnection to the specified value.
 void setReadTimeout sample code for java.net.URLConnection.setReadTimeout(int) definition code for java.net.URLConnection.setReadTimeout(int) (int timeout)
          Sets the read timeout to a specified timeout, in milliseconds.
 void setRequestProperty sample code for java.net.URLConnection.setRequestProperty(java.lang.String, java.lang.String) definition code for java.net.URLConnection.setRequestProperty(java.lang.String, java.lang.String) (String sample code for java.lang.String definition code for java.lang.String  key, String sample code for java.lang.String definition code for java.lang.String  value)
          Sets the general request property.
 void setUseCaches sample code for java.net.URLConnection.setUseCaches(boolean) definition code for java.net.URLConnection.setUseCaches(boolean) (boolean usecaches)
          Sets the value of the useCaches field of this URLConnection to the specified value.
 String sample code for java.lang.String definition code for java.lang.String toString sample code for java.net.URLConnection.toString() definition code for java.net.URLConnection.toString() ()
          Returns a String representation of this URL connection.
 
Methods inherited from class java.lang.Object sample code for java.lang.Object definition code for java.lang.Object
clone sample code for java.lang.Object.clone() definition code for java.lang.Object.clone() , equals sample code for java.lang.Object.equals(java.lang.Object) definition code for java.lang.Object.equals(java.lang.Object) , finalize sample code for java.lang.Object.finalize() definition code for java.lang.Object.finalize() , getClass sample code for java.lang.Object.getClass() definition code for java.lang.Object.getClass() , hashCode sample code for java.lang.Object.hashCode() definition code for java.lang.Object.hashCode() , notify sample code for java.lang.Object.notify() definition code for java.lang.Object.notify() , notifyAll sample code for java.lang.Object.notifyAll() definition code for java.lang.Object.notifyAll() , wait sample code for java.lang.Object.wait() definition code for java.lang.Object.wait() , wait sample code for java.lang.Object.wait(long) definition code for java.lang.Object.wait(long) , wait sample code for java.lang.Object.wait(long, int) definition code for java.lang.Object.wait(long, int)
 

Field Detail

url sample code for java.net.URLConnection.url

protected URL sample code for java.net.URL definition code for java.net.URL  url
The URL represents the remote object on the World Wide Web to which this connection is opened.

The value of this field can be accessed by the getURL method.

The default value of this variable is the value of the URL argument in the URLConnection constructor.

See Also:
getURL() sample code for java.net.URLConnection.getURL() definition code for java.net.URLConnection.getURL() , url sample code for java.net.URLConnection.url definition code for java.net.URLConnection.url

doInput sample code for java.net.URLConnection.doInput

protected boolean doInput
This variable is set by the setDoInput method. Its value is returned by the getDoInput method.

A URL connection can be used for input and/or output. Setting the doInput flag to true indicates that the application intends to read data from the URL connection.

The default value of this field is true.

See Also:
getDoInput() sample code for java.net.URLConnection.getDoInput() definition code for java.net.URLConnection.getDoInput() , setDoInput(boolean) sample code for java.net.URLConnection.setDoInput(boolean) definition code for java.net.URLConnection.setDoInput(boolean)

doOutput sample code for java.net.URLConnection.doOutput

protected boolean doOutput
This variable is set by the setDoOutput method. Its value is returned by the getDoOutput method.

A URL connection can be used for input and/or output. Setting the doOutput flag to true indicates that the application intends to write data to the URL connection.

The default value of this field is false.

See Also:
getDoOutput() sample code for java.net.URLConnection.getDoOutput() definition code for java.net.URLConnection.getDoOutput() , setDoOutput(boolean) sample code for java.net.URLConnection.setDoOutput(boolean) definition code for java.net.URLConnection.setDoOutput(boolean)

allowUserInteraction sample code for java.net.URLConnection.allowUserInteraction

protected boolean allowUserInteraction
If true, this URL is being examined in a context in which it makes sense to allow user interactions such as popping up an authentication dialog. If false, then no user interaction is allowed.

The value of this field can be set by the setAllowUserInteraction method. Its value is returned by the getAllowUserInteraction method. Its default value is the value of the argument in the last invocation of the setDefaultAllowUserInteraction method.

See Also:
getAllowUserInteraction() sample code for java.net.URLConnection.getAllowUserInteraction() definition code for java.net.URLConnection.getAllowUserInteraction() , setAllowUserInteraction(boolean) sample code for java.net.URLConnection.setAllowUserInteraction(boolean) definition code for java.net.URLConnection.setAllowUserInteraction(boolean) , setDefaultAllowUserInteraction(boolean) sample code for java.net.URLConnection.setDefaultAllowUserInteraction(boolean) definition code for java.net.URLConnection.setDefaultAllowUserInteraction(boolean)

useCaches sample code for java.net.URLConnection.useCaches

protected boolean useCaches
If true, the protocol is allowed to use caching whenever it can. If false, the protocol must always try to get a fresh copy of the object.

This field is set by the setUseCaches method. Its value is returned by the getUseCaches method.

Its default value is the value given in the last invocation of the setDefaultUseCaches method.

See Also:
setUseCaches(boolean) sample code for java.net.URLConnection.setUseCaches(boolean) definition code for java.net.URLConnection.setUseCaches(boolean) , getUseCaches() sample code for java.net.URLConnection.getUseCaches() definition code for java.net.URLConnection.getUseCaches()