Java Reference
In-Depth Information
To control the timeout value while reading data from the host, you should use the
setReadTimeout on the HttpURLConnection class. Likewise, you can call the
getReadTimeout to determine the current read timeout. This timeout is also measured
in milliseconds. To set the read timeout to one second you would use the following line of
code:
http.setReadTimeout(1000);
Please note that timeouts were added in J2SE 5.0. If you are using an earlier version,
these methods and functions will not be available.
Redirect Following
One very handy feature in HTTP is “redirect following”. Many web sites make use of
the HTTP redirect internally, so you will likely encounter redirects when writing a bot. The
HTTP redirect allows the server to redirect the web browser to a new URL.
To see an HTTP redirect in action, enter the following URL into your web browser. You
would expect the browser to take you to the URL you entered.
http://www.httprecipes.com/1/4/redirect.php
However, you do not end up on the above URL. You actually end up at the root of the
“Recipe Site” at the following URL:
http://www.httprecipes.com/
This was due to an HTTP redirect. By default, the HttpURLConnection class will
follow all such redirects automatically and often, you do not need to even be concerned with
them. Web browsers will always follow redirects automatically. However, if you would like
to handle the redirects yourself, you can disable auto following. The following line of code
would do this:
http.setInstanceFollowRedirects(false);
Additionally, you can call a static method and disable auto following for all instances of
HttpURLConnection . The following line of code would do this:
HttpURLConnection.setFollowRedirects(false);
If you disable redirection following, you may manually follow the redirects by looking at
the location response header.
Search WWH ::




Custom Search