com.mindprod.http
Class Chase

java.lang.Object
  extended by com.mindprod.http.Chase

public final class Chase
extends java.lang.Object

Chase redirection to find where page permanently redirected if any.

Since:
2010
Version:
2.3 2010-11-14 new method setInstanceFollowRedirects
Author:
Roedy Green, Canadian Mind Products

Field Summary
static java.lang.String EMBEDDED_COPYRIGHT
          undisplayed copyright notice
static java.lang.String VERSION_STRING
          embedded version string.
 
Constructor Summary
Chase()
          constructor
 
Method Summary
protected static void dumpHeaders(java.lang.String title, java.net.HttpURLConnection urlc)
          display the contents of the header fields key: value, value, value
static java.lang.String encodeParms(java.lang.String encoding, java.lang.String... parms)
          encode a set of parms for the command, separated with ? = & = * This method does not automatically include the result in the message sent to the host.
 java.lang.String getReferer()
          ges the Referrer ie.
 int getResponseCode()
          responseCode from most recent post/get Meaning of various codes are described at HttpURLConnection and at http://mindprod.com/jgloss/http.html
 java.lang.String getResponseMessage()
          responseCode from most recent post/get
 java.net.URL getURL()
          Get URL for this connection.
 java.lang.String send(java.net.URL url)
          Chase redirection to find where page permanently redirected if any.
 void setConnectTimeout(int connectTimeout)
          override the default connect timeout of 50 seconds
 void setInstanceFollowRedirects(boolean followRedirects)
          control whether redirects are automatically followed or treated as errors.
 void setParms(java.lang.String... parms)
          set the parms that will be send tacked onto the end of the URL, get-style
 void setReadTimeout(int readTimeout)
          override the default read timeout of 40 seconds
 void setReferer(java.lang.String referer)
          set the Referrer ie.
 void setRequestProperties(java.lang.String... requestProperties)
          set additional requestProperties.
protected  void setStandardProperties(java.net.URLConnection urlc)
          set up the standard properties on the connection
 void setUserAgent(java.lang.String userAgent)
          override the default User-Agent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMBEDDED_COPYRIGHT

public static final java.lang.String EMBEDDED_COPYRIGHT
undisplayed copyright notice

See Also:
Constant Field Values

VERSION_STRING

public static final java.lang.String VERSION_STRING
embedded version string.

See Also:
Constant Field Values
Constructor Detail

Chase

public Chase()
constructor

Method Detail

send

public java.lang.String send(java.net.URL url)
Chase redirection to find where page permanently redirected if any.

Parameters:
url - complete URL including any parms, pre-encoded (use Http.encodeParms). might be http: or https:.
Returns:
host's response where URL permanently redirected, null if not redirected.
See Also:
Get.send(java.net.URL, java.lang.String)

encodeParms

public static java.lang.String encodeParms(java.lang.String encoding,
                                           java.lang.String... parms)
                                    throws java.io.UnsupportedEncodingException
encode a set of parms for the command, separated with ? = & = * This method does not automatically include the result in the message sent to the host.

Parameters:
encoding - for URLEncoder
parms - 0..n strings to be send as parameter, alternating keyword/value
Returns:
all the parms in one string encoded with lead ?
Throws:
java.io.UnsupportedEncodingException - if bad encoding

getReferer

public java.lang.String getReferer()
ges the Referrer ie. the name of a web page this request ostensibly came from.

Returns:
referrer e.g "http://mindprod.com/index.html", null for none.
See Also:
details on Referrer

setReferer

public void setReferer(java.lang.String referer)
set the Referrer ie. the name of a web page this request ostensibly came from. Note that the word Referrer is spelled incorrectly as Referer the HTTP spec.

Parameters:
referer - e.g "http://mindprod.com/index.html", null for none.
See Also:
details on Referrer

getResponseCode

public int getResponseCode()
responseCode from most recent post/get Meaning of various codes are described at HttpURLConnection and at http://mindprod.com/jgloss/http.html

Returns:
responseCode
See Also:
HttpURLConnection

getResponseMessage

public java.lang.String getResponseMessage()
responseCode from most recent post/get

Returns:
responseCode

getURL

public java.net.URL getURL()
Get URL for this connection.

Returns:
URL, including encoded GET Parameters, but not POST parameters.

setConnectTimeout

public void setConnectTimeout(int connectTimeout)
override the default connect timeout of 50 seconds

Parameters:
connectTimeout - timeout to connect in ms. Note int, not long.

setInstanceFollowRedirects

public void setInstanceFollowRedirects(boolean followRedirects)
control whether redirects are automatically followed or treated as errors.

Parameters:
followRedirects - true=auto follow, false=treat as error..
See Also:
HttpURLConnection.setInstanceFollowRedirects(boolean)

setParms

public void setParms(java.lang.String... parms)
set the parms that will be send tacked onto the end of the URL, get-style

Parameters:
parms - 0..n strings to be send as parameter, alternating keyword/value
See Also:
Post.setPostParms(String...)

setReadTimeout

public void setReadTimeout(int readTimeout)
override the default read timeout of 40 seconds

Parameters:
readTimeout - timeout to connect int ms. Note int, not long.

setRequestProperties

public void setRequestProperties(java.lang.String... requestProperties)
set additional requestProperties. Replaced previous set.

Parameters:
requestProperties - pairs: key value.

setUserAgent

public void setUserAgent(java.lang.String userAgent)
override the default User-Agent

Parameters:
userAgent - User-Agent a browser uses in an HTTP header to identify itself. null for no User Agent. By default you get Firefox.
See Also:
details on User-Agent

dumpHeaders

protected static void dumpHeaders(java.lang.String title,
                                  java.net.HttpURLConnection urlc)
display the contents of the header fields key: value, value, value

Parameters:
title - Title to decorated the dump.
urlc - HTTP connection

setStandardProperties

protected void setStandardProperties(java.net.URLConnection urlc)
set up the standard properties on the connection

Parameters:
urlc - Connection we are setting up.