|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.cometway.net.HTTPLoader
public class HTTPLoader
This class provides a access to the HTTP protocol at a lower level than the URLConnection class provided by java. This class allows the caller to configure every aspect of an HTTP transaction.
There is also a fully functional static main method provided for using the HTTPLoader on the command line. The list of available options can be listed by giving no arguments or using the --help option.
| Field Summary | |
|---|---|
java.lang.String |
acceptString
|
static java.lang.String |
ALL_FRAMES
|
protected boolean |
allowForeignCookies
|
protected boolean |
autoRedirect
|
java.lang.String |
cert1_file
|
java.lang.String |
contentTypeString
|
protected java.util.Vector |
cookieList
|
protected boolean |
debug
|
protected java.lang.String |
debugStr
|
static java.lang.String |
DEFAULT_DEBUG_STR
|
static java.lang.String |
DEFAULT_ERROR_STR
|
static java.lang.String |
DEFAULT_PRINT_STR
|
static int |
DEFAULT_RECURSION_LIMIT
|
static int |
DEFAULT_TIMEOUT
|
static java.lang.String |
DEFAULT_USER_AGENT_STR
|
protected java.lang.String |
errorStr
|
protected IExceptionHandler |
exceptionHandler
|
java.lang.String |
httpsProxyServer
|
int |
httpsProxyServerPort
|
java.lang.String |
key_file
|
protected java.lang.String |
loadFrames
|
static java.lang.String |
META_HTTP_REGEXP
|
protected java.lang.String |
printStr
|
java.lang.String |
proxyServer
|
int |
proxyServerPort
|
protected int |
recursionCount
|
protected int |
recursionLimit
|
java.lang.String |
referer
|
protected HTTPRequest |
request
|
protected int |
requestDataLength
|
protected java.lang.String |
requestHost
|
protected long |
requestMillis
|
protected java.lang.String |
requestPath
|
protected int |
requestPort
|
protected java.lang.String |
requestProtocol
|
protected java.io.InputStream |
requestReader
|
protected java.net.Socket |
requestSocket
|
protected int |
requestTimeout
|
protected java.lang.String |
requestURL
|
protected java.io.BufferedWriter |
requestWriter
|
protected HTTPResponse |
response
|
boolean |
useAccept
|
boolean |
useCarraigeReturnsInRequest
|
boolean |
useContentType
|
boolean |
useHost
|
protected java.lang.String |
userAgent
|
boolean |
useReferer
|
boolean |
useUserAgent
|
protected boolean |
verbose
|
| Constructor Summary | |
|---|---|
HTTPLoader()
|
|
| Method Summary | |
|---|---|
void |
addCookie(CookiePropsContainer c)
* Adds a cookie to the cookie list. |
void |
addCookie(java.lang.String cookieString)
* Adds a cookie to the cookie list. |
boolean |
closeConnection()
* Closes the connection if it is open. |
protected void |
debug(java.lang.String s)
* Prints a debugging message to System.out when debugging is turned on. |
protected void |
error(java.lang.String s)
* Prints an error message to System.err |
protected void |
exception(java.lang.String s,
java.lang.Exception e)
* Passes the exception to the IExceptionHandler set for this object, or prints the exception to System.err if no IExceptionHandler is set. |
java.util.Vector |
getCookieList()
* Returns the vector used to store cookies as CookiePropsContainers. |
protected java.lang.String |
getCookieString()
* Returns a cookie string to be added to the list of headers. |
int |
getDefaultPort(java.lang.String protocol)
* Returns the default port number of the specified protocol; -1 if protocol is unknown. |
Props |
getHeaders(java.lang.String url)
Sends a HEAD request |
static java.lang.String |
getHTTPParamString(Props p)
Creates a parameter list suitable for GET and POST style requests. |
static java.lang.String |
getHTTPParamString(java.util.Vector fields,
java.util.Vector values)
Creates a parameter list suitable for GET and POST style requests. |
java.lang.String |
getRedirectLocation()
Returns the redirect location if the result code starts with 3 |
java.lang.String |
getRequestURL()
|
java.util.Hashtable |
getResponseHeader()
Returns the response headers |
java.lang.String |
getResultCode()
This method returns the HTTP result code from the last HTTP request. |
java.lang.String |
getURL(java.lang.String url)
|
java.lang.String |
getURL(java.lang.String url,
java.io.OutputStream dataOut)
|
java.lang.String |
getURL(java.lang.String url,
Props params)
Sends a GET request; HTTP parameters contained in a Props. |
java.lang.String |
getURL(java.lang.String url,
Props params,
java.io.OutputStream dataOut)
|
java.lang.String |
getURL(java.lang.String url,
java.lang.String referer)
Sends a GET request; no HTTP parameters. |
java.lang.String |
getURL(java.lang.String url,
java.util.Vector fields,
java.util.Vector values)
Sends a GET request; HTTP parameters contained in Vectors. |
java.lang.String |
getURL(java.lang.String url,
java.util.Vector fields,
java.util.Vector values,
java.io.OutputStream dataOut)
|
protected java.lang.String |
loadFrames(java.lang.String page)
* Loads pages from framesets embedded in the results and returns them inline. |
static void |
main(java.lang.String[] args)
|
protected boolean |
openConnection()
* Opens a request connection. |
protected void |
openSocket()
* Opens a socket connection. |
java.lang.String |
postURL(java.lang.String url)
Sends a POST request; no HTTP parameters. |
java.lang.String |
postURL(java.lang.String url,
java.io.File postFile,
java.lang.String mimeType)
|
java.lang.String |
postURL(java.lang.String url,
java.io.File postFile,
java.lang.String mimeType,
java.io.OutputStream dataOut)
|
java.lang.String |
postURL(java.lang.String url,
java.io.OutputStream dataOut)
|
java.lang.String |
postURL(java.lang.String url,
Props params)
Sends a POST request; HTTP parameters contained in a Props. |
java.lang.String |
postURL(java.lang.String url,
Props params,
java.io.OutputStream dataOut)
|
java.lang.String |
postURL(java.lang.String url,
java.lang.String httpParamString)
Sends a POST request; HTTP parameters already encoded as String. |
java.lang.String |
postURL(java.lang.String url,
java.lang.String httpParamString,
java.io.OutputStream dataOut)
|
java.lang.String |
postURL(java.lang.String url,
java.util.Vector fields,
java.util.Vector values)
Sends a POST request; HTTP parameters contained in Vectors. |
java.lang.String |
postURL(java.lang.String url,
java.util.Vector fields,
java.util.Vector values,
java.io.OutputStream dataOut)
|
protected void |
prepareRequest(java.lang.String url)
* Prepares this object for a connection by parsing the target URL. |
protected void |
println(java.lang.String s)
* Prints a message to System.out |
boolean |
putURL(java.lang.String url,
byte[] data,
java.lang.String mimeType)
|
boolean |
putURL(java.lang.String url,
java.io.File file,
java.lang.String mimeType)
|
boolean |
putURL(java.lang.String url,
java.lang.String data)
|
protected byte[] |
readBinaryFile(java.io.File file)
|
void |
removeAuthentication()
This method turns removes the username and password authentication, subsequent requests will not use any authentication |
protected java.lang.String |
requestURL(java.lang.String url,
int requestType,
java.lang.String httpParamString,
java.io.InputStream dataIn,
java.io.OutputStream dataOut,
java.lang.String referer)
Used to make the request. |
void |
resetCookieList()
* Resets the cookie list by creating a new empty Vector; this replaces the previous cookie list if present. |
protected java.lang.String |
sendRequest(java.io.OutputStream dataOut)
* Uses the open connection to make a request. |
void |
setAllowForeignCookies(boolean allow)
* Cookies are accepted anyway when their domain and path do not match the request when this option is turned on; otherwise they are ignored. |
void |
setAutoRedirect(boolean state)
* Sets the state of the auto-redirect feature. |
void |
setCookieList(java.util.Vector cookieList)
* Sets a vector for storing a list of CookiePropsContainers. |
void |
setCookiesSupported(boolean supported)
* Enables cookie support by creating a new empty vector for storing cookies; disabling removes any existing cookie list. |
void |
setDebug(boolean state)
* Prints additional debugging output to System.out when turned on. |
void |
setExceptionHandler(IExceptionHandler e)
* Sets the exception handler for this object. |
void |
setHTTPKey(java.lang.String keyFile,
java.lang.String certFile)
Sets the key and cert file to use with HTTPS requests. |
void |
setHTTPSProxyServer(java.lang.String proxyHostName,
int port)
This method sets the HTTPLoader to use a proxy server for HTTPS requests. |
void |
setLoadFrames(java.lang.String frames)
* Sets the names of the frames that will be automatically loaded; set to ALL_NAMES (load all frames) by default. |
void |
setProxyServer(java.lang.String proxyHostName,
int port)
This method sets the HTTPLoader to use a proxy server. |
void |
setRecursionLimit(int limit)
Sets the recursion limit. |
void |
setRequestTimeout(int timeout)
* Sets the request timeout used when opening a connection. |
void |
setUserAgent(java.lang.String s)
* Sets the string passed to web servers to identify a client. |
void |
setVerbose(boolean enabled)
|
java.lang.String |
shortGetURL(java.lang.String url)
Uses shorter GET header for simple requests. |
java.lang.String |
shortGetURL(java.lang.String url,
java.io.OutputStream dataOut)
|
void |
useBasicAuthentication(java.lang.String username,
java.lang.String password)
This method forces the HTTPLoader to use BASIC authentication |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String DEFAULT_USER_AGENT_STR
public static final java.lang.String META_HTTP_REGEXP
public static final java.lang.String DEFAULT_ERROR_STR
public static final java.lang.String DEFAULT_PRINT_STR
public static final java.lang.String DEFAULT_DEBUG_STR
public static final int DEFAULT_TIMEOUT
public static final java.lang.String ALL_FRAMES
public static final int DEFAULT_RECURSION_LIMIT
protected boolean autoRedirect
protected boolean allowForeignCookies
protected boolean debug
protected boolean verbose
protected int recursionLimit
protected int requestTimeout
protected java.lang.String loadFrames
protected java.lang.String debugStr
protected java.lang.String errorStr
protected java.lang.String printStr
protected java.lang.String userAgent
protected IExceptionHandler exceptionHandler
public java.lang.String proxyServer
public int proxyServerPort
public java.lang.String httpsProxyServer
public int httpsProxyServerPort
protected java.util.Vector cookieList
protected java.lang.String requestProtocol
protected java.lang.String requestHost
protected int requestPort
protected java.lang.String requestPath
protected java.lang.String requestURL
protected java.net.Socket requestSocket
protected HTTPRequest request
protected long requestMillis
protected java.io.BufferedWriter requestWriter
protected java.io.InputStream requestReader
protected HTTPResponse response
protected int requestDataLength
protected int recursionCount
public boolean useReferer
public boolean useUserAgent
public boolean useHost
public boolean useAccept
public boolean useContentType
public boolean useCarraigeReturnsInRequest
public java.lang.String acceptString
public java.lang.String contentTypeString
public java.lang.String referer
public java.lang.String key_file
public java.lang.String cert1_file
| Constructor Detail |
|---|
public HTTPLoader()
| Method Detail |
|---|
public boolean closeConnection()
public int getDefaultPort(java.lang.String protocol)
public java.lang.String getResultCode()
public java.util.Hashtable getResponseHeader()
public java.lang.String getRedirectLocation()
public void setHTTPKey(java.lang.String keyFile,
java.lang.String certFile)
public void setProxyServer(java.lang.String proxyHostName,
int port)
public void setHTTPSProxyServer(java.lang.String proxyHostName,
int port)
public void useBasicAuthentication(java.lang.String username,
java.lang.String password)
public void removeAuthentication()
public void setAutoRedirect(boolean state)
public void setDebug(boolean state)
public void setExceptionHandler(IExceptionHandler e)
public void setLoadFrames(java.lang.String frames)
public void setRecursionLimit(int limit)
public void setRequestTimeout(int timeout)
public void setUserAgent(java.lang.String s)
public void setVerbose(boolean enabled)
public void setAllowForeignCookies(boolean allow)
public void setCookieList(java.util.Vector cookieList)
public void setCookiesSupported(boolean supported)
protected java.lang.String getCookieString()
public java.util.Vector getCookieList()
public void resetCookieList()
public void addCookie(java.lang.String cookieString)
public void addCookie(CookiePropsContainer c)
public java.lang.String getURL(java.lang.String url,
Props params)
public java.lang.String getURL(java.lang.String url,
Props params,
java.io.OutputStream dataOut)
public java.lang.String getURL(java.lang.String url,
java.util.Vector fields,
java.util.Vector values)
public java.lang.String getURL(java.lang.String url,
java.util.Vector fields,
java.util.Vector values,
java.io.OutputStream dataOut)
public java.lang.String getURL(java.lang.String url,
java.lang.String referer)
public java.lang.String getURL(java.lang.String url)
public java.lang.String getURL(java.lang.String url,
java.io.OutputStream dataOut)
public java.lang.String shortGetURL(java.lang.String url)
public java.lang.String shortGetURL(java.lang.String url,
java.io.OutputStream dataOut)
public java.lang.String postURL(java.lang.String url,
Props params)
public java.lang.String postURL(java.lang.String url,
Props params,
java.io.OutputStream dataOut)
public java.lang.String postURL(java.lang.String url,
java.util.Vector fields,
java.util.Vector values)
public java.lang.String postURL(java.lang.String url,
java.util.Vector fields,
java.util.Vector values,
java.io.OutputStream dataOut)
public java.lang.String postURL(java.lang.String url,
java.lang.String httpParamString)
public java.lang.String postURL(java.lang.String url,
java.lang.String httpParamString,
java.io.OutputStream dataOut)
public java.lang.String postURL(java.lang.String url)
public java.lang.String postURL(java.lang.String url,
java.io.OutputStream dataOut)
public java.lang.String postURL(java.lang.String url,
java.io.File postFile,
java.lang.String mimeType)
public java.lang.String postURL(java.lang.String url,
java.io.File postFile,
java.lang.String mimeType,
java.io.OutputStream dataOut)
public Props getHeaders(java.lang.String url)
public boolean putURL(java.lang.String url,
java.io.File file,
java.lang.String mimeType)
public boolean putURL(java.lang.String url,
byte[] data,
java.lang.String mimeType)
public boolean putURL(java.lang.String url,
java.lang.String data)
public static java.lang.String getHTTPParamString(java.util.Vector fields,
java.util.Vector values)
public static java.lang.String getHTTPParamString(Props p)
protected java.lang.String loadFrames(java.lang.String page)
protected boolean openConnection()
protected void openSocket()
throws java.lang.Exception
java.lang.Exceptionprotected void prepareRequest(java.lang.String url)
protected java.lang.String requestURL(java.lang.String url,
int requestType,
java.lang.String httpParamString,
java.io.InputStream dataIn,
java.io.OutputStream dataOut,
java.lang.String referer)
protected java.lang.String sendRequest(java.io.OutputStream dataOut)
public java.lang.String getRequestURL()
protected byte[] readBinaryFile(java.io.File file)
protected void println(java.lang.String s)
protected void debug(java.lang.String s)
protected void error(java.lang.String s)
protected void exception(java.lang.String s,
java.lang.Exception e)
public static void main(java.lang.String[] args)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||