| |
|
| java.net.HttpURLConnection HTTPClient.HttpURLConnection
HttpURLConnection | public class HttpURLConnection extends java.net.HttpURLConnection implements GlobalConstants(Code) | | This class is a wrapper around HTTPConnection providing the interface
defined by java.net.URLConnection and java.net.HttpURLConnection.
This class can be used to replace the HttpClient in the JDK with this
HTTPClient by defining the property
java.protocol.handler.pkgs=HTTPClient .
One difference between Sun's HttpClient and this one is that this
one will provide you with a real output stream if possible. This leads
to two changes: you should set the request property "Content-Length",
if possible, before invoking getOutputStream(); and in many cases
getOutputStream() implies connect(). This should be transparent, though,
apart from the fact that you can't change any headers or other settings
anymore once you've gotten the output stream.
So, for large data do:
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setDoOutput(true);
con.setRequestProperty("Content-Length", ...);
OutputStream out = con.getOutputStream();
out.write(...);
out.close();
if (con.getResponseCode() != 200)
...
The HTTPClient will send the request data using the chunked transfer
encoding when no Content-Length is specified and the server is HTTP/1.1
compatible. Because cgi-scripts can't usually handle this, you may
experience problems trying to POST data. For this reason, whenever
the Content-Type is application/x-www-form-urlencoded getOutputStream()
will buffer the data before sending it so as prevent chunking. If you
are sending requests with a different Content-Type and are experiencing
problems then you may want to try setting the system property
HTTPClient.dontChunkRequests to true (this needs
to be done either on the command line or somewhere in the code before
the first URLConnection.openConnection() is invoked).
version: 0.3-2 18/06/1999 author: Ronald Tschalär since: V0.3 |
HttpURLConnection | public HttpURLConnection(URL url) throws ProtocolNotSuppException, IOException(Code) | | Construct a connection to the specified url. A cache of
HTTPConnections is used to maximize the reuse of these across
multiple HttpURLConnections.
The default method is "GET".
Parameters: url - the url of the request exception: ProtocolNotSuppException - if the protocol is not supported |
connect | public synchronized void connect() throws IOException(Code) | | Connects to the server (if connection not still kept alive) and
issues the request.
|
disconnect | public void disconnect()(Code) | | Closes all the connections to this server.
|
getDefaultRequestProperty | public static String getDefaultRequestProperty(String name)(Code) | | Gets the value for a given default request header.
Parameters: name - the name of the header. the value part of the header, or null if no such header. |
getErrorStream | public InputStream getErrorStream()(Code) | | Returns the error stream if the connection failed
but the server sent useful data nonetheless.
This method will not cause a connection to be initiated.
an InputStream, or null if either the connection hasn'tbeen established yet or no error occured See Also: java.net.HttpURLConnection.getErrorStream since: V0.3-1 |
getHeaderField | public String getHeaderField(String name)(Code) | | Get the value part of a header. Calls connect() if not connected.
Parameters: name - the of the header. the value of the header, or null if no such header was returned. |
getHeaderField | public String getHeaderField(int n)(Code) | | Gets header value of the n-th header. Calls connect() if not connected.
The value of 0-th header is the Status-Line (e.g. "HTTP/1.1 200 Ok").
Parameters: n - which header to return. the header value, or null if not that many headers. |
getHeaderFieldDate | public long getHeaderFieldDate(String name, long def)(Code) | | Get the value part of a header, interprets it as a date and converts
it to a long representing the number of milliseconds since 1970. If
the header does not exist or if its value could not be converted to a
date then the default is returned. Calls connect() if not connected.
Parameters: name - the of the header. Parameters: def - the default value to return in case of an error. the value of the header, or def in case of an error. |
getHeaderFieldInt | public int getHeaderFieldInt(String name, int def)(Code) | | Get the value part of a header and converts it to an int. If the
header does not exist or if its value could not be converted to an
int then the default is returned. Calls connect() if not connected.
Parameters: name - the of the header. Parameters: def - the default value to return in case of an error. the value of the header, or null if no such header was returned. |
getHeaderFieldKey | public String getHeaderFieldKey(int n)(Code) | | Gets header name of the n-th header. Calls connect() if not connected.
The name of the 0-th header is null, even though it the
0-th header has a value.
Parameters: n - which header to return. the header name, or null if not that many headers. |
getInstanceFollowRedirects | public boolean getInstanceFollowRedirects()(Code) | | true if automatic redirection handling for this instance isenabled. |
getOutputStream | public synchronized OutputStream getOutputStream() throws IOException(Code) | | Gets an output stream which can be used send an entity with the
request. Can be called multiple times, in which case always the
same stream is returned.
The default request method changes to "POST" when this method is
called. Cannot be called after connect().
If no Content-type has been set it defaults to
application/x-www-form-urlencoded. Furthermore, if the
Content-type is application/x-www-form-urlencoded then all
output will be collected in a buffer before sending it to the server;
otherwise an HttpOutputStream is used.
an OutputStream exception: ProtocolException - if already connect()'ed, if output is notenabled or if the request method does notsupport output. See Also: java.net.URLConnection.setDoOutput(boolean) See Also: HTTPClient.HttpOutputStream |
getRequestMethod | public String getRequestMethod()(Code) | | Return the request method used.
the http method. |
getRequestProperty | public String getRequestProperty(String name)(Code) | | Gets the value of a given request header.
Parameters: name - the name of the header. the value part of the header, or null if no such header. |
getResponseCode | public int getResponseCode() throws IOException(Code) | | Get the response code. Calls connect() if not connected.
the http response code returned. |
getResponseMessage | public String getResponseMessage() throws IOException(Code) | | Get the response message describing the response code. Calls connect()
if not connected.
the http response message returned with the response code. |
getURL | public URL getURL()(Code) | | Gets the url for this connection. If we're connect()'d and the request
was redirected then the url returned is that of the final request.
the final url, or null if any exception occured. |
setDefaultRequestProperty | public static void setDefaultRequestProperty(String name, String value)(Code) | | Sets an arbitrary default request header. All headers set here are
automatically sent with each request.
Parameters: name - the name of the header. Parameters: value - the value for the header. |
setIfModifiedSince | public void setIfModifiedSince(long time)(Code) | | Sets the If-Modified-Since header.
Parameters: time - the number of milliseconds since 1970. |
setInstanceFollowRedirects | public void setInstanceFollowRedirects(boolean set)(Code) | | Enables or disables the automatic handling of redirection responses
for this instance only. Cannot be called after connect() .
Parameters: set - enables automatic redirection handling if true. |
setRequestMethod | public void setRequestMethod(String method) throws ProtocolException(Code) | | Sets the request method (e.g. "PUT" or "HEAD"). Can only be set
before connect() is called.
Parameters: method - the http method. exception: ProtocolException - if already connected. |
setRequestProperty | public void setRequestProperty(String name, String value)(Code) | | Sets an arbitrary request header.
Parameters: name - the name of the header. Parameters: value - the value for the header. |
toString | public String toString()(Code) | | produces a string.
a string containing the HttpURLConnection |
usingProxy | public boolean usingProxy()(Code) | | Shows if request are being made through an http proxy or directly.
true if an http proxy is being used. |
|
|
|