IP*Works!

ipworks
Class Http

java.lang.Object
  |
  +--ipworks.Http

public class Http
extends java.lang.Object

The HTTP control can be used to retrieve documents from the World Wide Web.

The HTTP control implements a standard HTTP Version 1.0 client through a simple plug-and-play interface.

The control contains a number of properties that map directly to HTTP request headers. Files are received through events: Transfer for contents, and Header for HTTP headers. The StartTransfer and EndTransfer events are fired at the beginning and end of transmission.

To receive a document call the Get method with the URL to retrieve specified in the URL parameter. Alternatively, the URL property can specify the document to receive. To receive the document set the Action property to httpGet . Data can be POST-ed to the HTTP server by assigning it to the PostData property and then calling the Post method or by setting the Action property to httpPost .

The PUT method is also supported. You should specify the User and Password properties or alternatively the Authorization and call the Put method with specified URL . It is also possible to specify the URL and set Action to httpPut if you wish not to use the method calls. The AttachedFile will be sent.

The HTTP control supports the HTTP Basic authentication scheme through the User and Password properties. Other authentication schemes can be implemented by using the Authorization property.


Field Summary
static int frAlways
           
static int frNever
           
static int frSameScheme
           
static int fwNone
           
static int fwSOCKS4
           
static int fwSOCKS5
           
static int fwTunnel
           
static int httpGet
           
static int httpHead
           
static int httpIdle
           
static int httpPost
           
static int httpPut
           
static int httpResetHeaders
           
 
Constructor Summary
Http()
           
 
Method Summary
 void addCookie(java.lang.String cookieName, java.lang.String cookieValue)
          Sets a cookie and the corresponding value.
 void addHttpEventListener(HttpEventListener l)
           
 void fireConnected(int statusCode, java.lang.String description)
          Fired immediately after a connection completes (or fails).
 void fireDisconnected(int statusCode, java.lang.String description)
          Fired when a connection is closed.
 void fireEndTransfer(int direction)
          Fired when a document finishes transferring.
 void fireError(int errorCode, java.lang.String description)
          Information about errors during data delivery.
 void fireHeader(java.lang.String field, java.lang.String value)
          Fired every time a header line comes in.
 void fireSetCookie(java.lang.String name, java.lang.String value, java.lang.String expires, java.lang.String domain, java.lang.String path, boolean secure)
          Fired for every cookie set by the server.
 void fireStartTransfer(int direction)
          Fired when a document starts transferring (after the headers).
 void fireTransfer(int direction, int bytesTransferred, byte[] text)
          Fired while a document transfers (delivers document).
 void get(java.lang.String URL)
          Fetch the document using the HTTP GET method.
 java.lang.String getAccept()
          A list of acceptable MIME types for the request.
 int getAction()
          An action code for the component.
 java.lang.String getAttachedFile()
          A file to append to PostData if the POST or PUT methods are used.
 java.lang.String getAuthorization()
          The Authorization string to be sent to the server.
 java.lang.String getContentType()
          Content type for posted data.
 int getCookieCount()
          Number of cookies in the current request.
 java.lang.String getCookieName(int cookieIndex)
          Array of cookie names.
 java.lang.String getCookieValue(int cookieIndex)
          Array of cookie values.
 byte[] getFirewallData()
          Used to send other data to firewall.
 java.lang.String getFirewallHost()
          Name or IP address of firewall (optional).
 java.lang.String getFirewallPassword()
          A password if authentication is to be used connecting through the firewall.
 int getFirewallPort()
          Port of the firewall to connect to.
 int getFirewallType()
          Determines the type of firewall to connect through.
 java.lang.String getFirewallUser()
          A user name if authentication is to be used connecting through a firewall.
 int getFollowRedirects()
          Determines what happens when the server issues a redirect.
 java.lang.String getFrom()
          The email address of the HTTP agent (optional).
 java.lang.String getHTTPMethod()
          The HTTP method used for the request.
 java.lang.String getHTTPVersion()
          The version of HTTP used by the component.
 java.lang.String getIfModifiedSince()
          A date determining the maximum age of the desired document.
 java.lang.String getLocalFile()
          The path to a local file for downloading.
 java.lang.String getLocalHost()
          The name of the local host or user-assigned IP interface through which connections are initiated or accepted.
 int getMaxTransferredData()
          The maximum number of bytes to store in TransferredData .
 java.lang.String getOtherHeaders()
          Other headers as determined by the user (optional).
 java.lang.String getPassword()
          A password if Basic authentication is to be used.
 byte[] getPostData()
          The data to post with the URL if the POST method is used.
 java.lang.String getPragma()
          A browser/server specific header line (optional).
 java.lang.String getProxyAuthorization()
          Similar to the Authorization property, but for proxy authorization.
 java.lang.String getProxyPassword()
          A password if Basic authentication is to be used for the proxy.
 int getProxyPort()
          Port for the proxy server (default 80).
 java.lang.String getProxyServer()
          Name or IP address of a proxy server (optional).
 java.lang.String getProxyUser()
          A user name if Basic authentication is to be used for the proxy.
 java.lang.String getReferer()
          Referer URL/document (optional).
 java.lang.String getStatusLine()
          The first line of the last server response.
 int getTimeout()
          A timeout for the component.
 byte[] getTransferredData()
          The contents of the last transfer.
 java.lang.String getTransferredHeaders()
          The full set of headers as received from the server.
 java.lang.String getURL()
          The URL to fetch.
 java.lang.String getURLPath()
          The path for the URL.
 int getURLPort()
          The port for the URL.
 java.lang.String getURLScheme()
          The scheme for the URL.
 java.lang.String getURLServer()
          The server for the URL.
 java.lang.String getUser()
          A user name if Basic authentication is to be used.
 java.lang.String getUserAgent()
          Information about the user agent (browser).
 void head(java.lang.String URL)
          Fetch the document headers using the HTTP HEAD method.
 void interrupt()
          Interrupt the Action in progress (if any).
 boolean isConnected()
          Shows whether the component is connected.
 void post(java.lang.String URL)
          Post data to the HTTP server using the HTTP POST method.
 void put(java.lang.String URL)
          Send data to the HTTP server using the HTTP PUT method.
 void removeHttpEventListener(HttpEventListener l)
           
 void resetHeaders()
          Resets all HTTP headers, cookies, LocalFile , and AttachedFile .
 void setAccept(java.lang.String accept)
          A list of acceptable MIME types for the request.
 void setAction(int action)
          An action code for the component.
 void setAttachedFile(java.lang.String attachedFile)
          A file to append to PostData if the POST or PUT methods are used.
 void setAuthorization(java.lang.String authorization)
          The Authorization string to be sent to the server.
 void setContentType(java.lang.String contentType)
          Content type for posted data.
 void setCookieCount(int cookieCount)
          Number of cookies in the current request.
 void setCookieName(int cookieIndex, java.lang.String cookieName)
          Array of cookie names.
 void setCookieValue(int cookieIndex, java.lang.String cookieValue)
          Array of cookie values.
 void setFirewallData(byte[] firewallData)
          Used to send other data to firewall.
 void setFirewallHost(java.lang.String firewallHost)
          Name or IP address of firewall (optional).
 void setFirewallPassword(java.lang.String firewallPassword)
          A password if authentication is to be used connecting through the firewall.
 void setFirewallPort(int firewallPort)
          Port of the firewall to connect to.
 void setFirewallType(int firewallType)
          Determines the type of firewall to connect through.
 void setFirewallUser(java.lang.String firewallUser)
          A user name if authentication is to be used connecting through a firewall.
 void setFollowRedirects(int followRedirects)
          Determines what happens when the server issues a redirect.
 void setFrom(java.lang.String from)
          The email address of the HTTP agent (optional).
 void setHTTPMethod(java.lang.String HTTPMethod)
          The HTTP method used for the request.
 void setHTTPVersion(java.lang.String HTTPVersion)
          The version of HTTP used by the component.
 void setIfModifiedSince(java.lang.String ifModifiedSince)
          A date determining the maximum age of the desired document.
 void setLocalFile(java.lang.String localFile)
          The path to a local file for downloading.
 void setLocalHost(java.lang.String localHost)
          The name of the local host or user-assigned IP interface through which connections are initiated or accepted.
 void setMaxTransferredData(int maxTransferredData)
          The maximum number of bytes to store in TransferredData .
 void setOtherHeaders(java.lang.String otherHeaders)
          Other headers as determined by the user (optional).
 void setPassword(java.lang.String password)
          A password if Basic authentication is to be used.
 void setPostData(byte[] postData)
          The data to post with the URL if the POST method is used.
 void setPragma(java.lang.String pragma)
          A browser/server specific header line (optional).
 void setProxyAuthorization(java.lang.String proxyAuthorization)
          Similar to the Authorization property, but for proxy authorization.
 void setProxyPassword(java.lang.String proxyPassword)
          A password if Basic authentication is to be used for the proxy.
 void setProxyPort(int proxyPort)
          Port for the proxy server (default 80).
 void setProxyServer(java.lang.String proxyServer)
          Name or IP address of a proxy server (optional).
 void setProxyUser(java.lang.String proxyUser)
          A user name if Basic authentication is to be used for the proxy.
 void setReferer(java.lang.String referer)
          Referer URL/document (optional).
 void setTimeout(int timeout)
          A timeout for the component.
 void setURL(java.lang.String URL)
          The URL to fetch.
 void setURLPath(java.lang.String URLPath)
          The path for the URL.
 void setURLPort(int URLPort)
          The port for the URL.
 void setURLScheme(java.lang.String URLScheme)
          The scheme for the URL.
 void setURLServer(java.lang.String URLServer)
          The server for the URL.
 void setUser(java.lang.String user)
          A user name if Basic authentication is to be used.
 void setUserAgent(java.lang.String userAgent)
          Information about the user agent (browser).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

httpIdle

public static final int httpIdle

httpGet

public static final int httpGet

httpPost

public static final int httpPost

httpHead

public static final int httpHead

httpResetHeaders

public static final int httpResetHeaders

httpPut

public static final int httpPut

fwNone

public static final int fwNone

fwTunnel

public static final int fwTunnel

fwSOCKS4

public static final int fwSOCKS4

fwSOCKS5

public static final int fwSOCKS5

frNever

public static final int frNever

frAlways

public static final int frAlways

frSameScheme

public static final int frSameScheme
Constructor Detail

Http

public Http()
Method Detail

getAccept

public java.lang.String getAccept()
A list of acceptable MIME types for the request. If the Accept property contains a non-empty string, an HTTP Accept header is added to the request.

The Accept header is used for content negotiation. It consists of a comma-separated list of acceptable MIME types.


setAccept

public void setAccept(java.lang.String accept)
               throws IPWorksException
A list of acceptable MIME types for the request. If the Accept property contains a non-empty string, an HTTP Accept header is added to the request.

The Accept header is used for content negotiation. It consists of a comma-separated list of acceptable MIME types.


getAction

public int getAction()
An action code for the component. Setting the Action property to a valid action code makes the control perform the associated action. If the action completes successfully, execution continues normally, and Action is reset to 0 (Idle). If an error happens, then an IPWorksException exception is raised.

The following are the possible values for the Action property and the corresponding descriptions:

httpIdle (0)
Default action. It can also be used to interrupt the current operation.
httpGet (1)
Fetch the document using the HTTP GET method. The document contents are delivered through the Transfer event, and the HTTP response headers through the Header event. If LocalFile is not empty the data (not the headers) is written there as well.
httpPost (2)
Post data to the HTTP server using the HTTP POST method. The posted data are taken from PostData and/or AttachedFile . The server response text is received through the Transfer event, and the HTTP response headers through the Header event. If LocalFile is not empty the data (not the headers) is written there as well.
httpHead (3)
Fetch the document headers using the HTTP HEAD method. The headers are received through the Header event.
httpResetHeaders (4)
Resets all the HTTP headers as well as LocalFile and AttachedFile to "" (empty string). Also sets CookieCount to 0 (resets cookie arrays). Use this property before creating a new request, so that headers from the previous request are not carried over to the next one.
httpPut (5)
Send data to the HTTP server using the HTTP PUT method. The data are taken from PostData and/or AttachedFile . The server response text is received through the Transfer event, and the HTTP response headers through the Header event. If LocalFile is not empty the data (not the headers) is written there as well. The user should normally have assigned correct values to User and Password or Authorization .


setAction

public void setAction(int action)
               throws IPWorksException
An action code for the component. Setting the Action property to a valid action code makes the control perform the associated action. If the action completes successfully, execution continues normally, and Action is reset to 0 (Idle). If an error happens, then an IPWorksException exception is raised.

The following are the possible values for the Action property and the corresponding descriptions:

httpIdle (0)
Default action. It can also be used to interrupt the current operation.
httpGet (1)
Fetch the document using the HTTP GET method. The document contents are delivered through the Transfer event, and the HTTP response headers through the Header event. If LocalFile is not empty the data (not the headers) is written there as well.
httpPost (2)
Post data to the HTTP server using the HTTP POST method. The posted data are taken from PostData and/or AttachedFile . The server response text is received through the Transfer event, and the HTTP response headers through the Header event. If LocalFile is not empty the data (not the headers) is written there as well.
httpHead (3)
Fetch the document headers using the HTTP HEAD method. The headers are received through the Header event.
httpResetHeaders (4)
Resets all the HTTP headers as well as LocalFile and AttachedFile to "" (empty string). Also sets CookieCount to 0 (resets cookie arrays). Use this property before creating a new request, so that headers from the previous request are not carried over to the next one.
httpPut (5)
Send data to the HTTP server using the HTTP PUT method. The data are taken from PostData and/or AttachedFile . The server response text is received through the Transfer event, and the HTTP response headers through the Header event. If LocalFile is not empty the data (not the headers) is written there as well. The user should normally have assigned correct values to User and Password or Authorization .


getAttachedFile

public java.lang.String getAttachedFile()
A file to append to PostData if the POST or PUT methods are used. If AttachedFile is a non-empty string, then if the HTTP 'POST' or 'PUT' methods are used ( Post Data or Put Data Action ), the contents of the AttachedFile file are appended to the HTTP request after any data in PostData .

An HTTP 'Content-Length' header is also added to request. Its value is the cumulative length of the PostData string and the file.


setAttachedFile

public void setAttachedFile(java.lang.String attachedFile)
                     throws IPWorksException
A file to append to PostData if the POST or PUT methods are used. If AttachedFile is a non-empty string, then if the HTTP 'POST' or 'PUT' methods are used ( Post Data or Put Data Action ), the contents of the AttachedFile file are appended to the HTTP request after any data in PostData .

An HTTP 'Content-Length' header is also added to request. Its value is the cumulative length of the PostData string and the file.


getAuthorization

public java.lang.String getAuthorization()
The Authorization string to be sent to the server. If the Authorization property contains a non-empty string, an Authorization HTTP request header is added to the request. This header conveys Authorization information to the server.

This property is provided so that the HTTP control can be extended with other security schemes except the common Basic authorization scheme defined by the HTTP protocol.

If User and Password are specified, they are Base64 encoded, and the result is put in the Authorization property in the form "Basic [encoded-user-password]".


setAuthorization

public void setAuthorization(java.lang.String authorization)
                      throws IPWorksException
The Authorization string to be sent to the server. If the Authorization property contains a non-empty string, an Authorization HTTP request header is added to the request. This header conveys Authorization information to the server.

This property is provided so that the HTTP control can be extended with other security schemes except the common Basic authorization scheme defined by the HTTP protocol.

If User and Password are specified, they are Base64 encoded, and the result is put in the Authorization property in the form "Basic [encoded-user-password]".


isConnected

public boolean isConnected()
Shows whether the component is connected. Use this property to determine whether the control is connected to the remote host or not.


getContentType

public java.lang.String getContentType()
Content type for posted data. If the ContentType property contains a non-empty string, a Content-Type HTTP request header is added to the request. The purpose of the header is to show the contents of the data being POST-ed to the server.

The most common example is posting of HTML form input data. In that case, the ContentType property must be set to "application/x-www-form-urlencoded" .


setContentType

public void setContentType(java.lang.String contentType)
                    throws IPWorksException
Content type for posted data. If the ContentType property contains a non-empty string, a Content-Type HTTP request header is added to the request. The purpose of the header is to show the contents of the data being POST-ed to the server.

The most common example is posting of HTML form input data. In that case, the ContentType property must be set to "application/x-www-form-urlencoded" .


getCookieCount

public int getCookieCount()
Number of cookies in the current request. The cookie arrays such as CookieName and CookieValue maintain the cookies sent to the server.

The SetCookie event displays the cookies set by the server and their properties.


setCookieCount

public void setCookieCount(int cookieCount)
                    throws IPWorksException
Number of cookies in the current request. The cookie arrays such as CookieName and CookieValue maintain the cookies sent to the server.

The SetCookie event displays the cookies set by the server and their properties.


getCookieName

public java.lang.String getCookieName(int cookieIndex)
                               throws IPWorksException
Array of cookie names. The size of the array is determined by the CookieCount property. Element indexes start at 1.

All cookies specified in the array are sent to URLServer when the URL is submitted.

The cookie arrays such as CookieName and CookieValue maintain the cookies sent to the server. The SetCookie event displays the cookies set by the server and their properties.


setCookieName

public void setCookieName(int cookieIndex,
                          java.lang.String cookieName)
                   throws IPWorksException
Array of cookie names. The size of the array is determined by the CookieCount property. Element indexes start at 1.

All cookies specified in the array are sent to URLServer when the URL is submitted.

The cookie arrays such as CookieName and CookieValue maintain the cookies sent to the server. The SetCookie event displays the cookies set by the server and their properties.


getCookieValue

public java.lang.String getCookieValue(int cookieIndex)
                                throws IPWorksException
Array of cookie values. The size of the array is determined by the CookieCount property. Element indexes start at 1.

All cookies specified in the array are sent to URLServer when the URL is submitted.

The cookie arrays such as CookieName and CookieValue maintain the cookies sent to the server. The SetCookie event displays the cookies set by the server and their properties.


setCookieValue

public void setCookieValue(int cookieIndex,
                           java.lang.String cookieValue)
                    throws IPWorksException
Array of cookie values. The size of the array is determined by the CookieCount property. Element indexes start at 1.

All cookies specified in the array are sent to URLServer when the URL is submitted.

The cookie arrays such as CookieName and CookieValue maintain the cookies sent to the server. The SetCookie event displays the cookies set by the server and their properties.


getFirewallData

public byte[] getFirewallData()
Used to send other data to firewall. When the firewall is a tunneling proxy, use this property to to send custom (additional) headers to the firewall (e.g. headers for custom authentication schemes).


setFirewallData

public void setFirewallData(byte[] firewallData)
                     throws IPWorksException
Used to send other data to firewall. When the firewall is a tunneling proxy, use this property to to send custom (additional) headers to the firewall (e.g. headers for custom authentication schemes).


getFirewallHost

public java.lang.String getFirewallHost()
Name or IP address of firewall (optional). If a FirewallHost is given, requested connections will be authenticated through the specified firewall when connecting.

If the FirewallHost property is set to a Domain Name, a DNS request is initiated and upon successful termination of the request, the FirewallHost property is set to the corresponding address. If the search is not successful, an error is returned.


setFirewallHost

public void setFirewallHost(java.lang.String firewallHost)
                     throws IPWorksException
Name or IP address of firewall (optional). If a FirewallHost is given, requested connections will be authenticated through the specified firewall when connecting.

If the FirewallHost property is set to a Domain Name, a DNS request is initiated and upon successful termination of the request, the FirewallHost property is set to the corresponding address. If the search is not successful, an error is returned.


getFirewallPassword

public java.lang.String getFirewallPassword()
A password if authentication is to be used connecting through the firewall. if FirewallHost is specified, the FirewallUser and FirewallPassword properties are used to connect and authenticate to the given firewall. If the authentication fails, a trappable error is fired.


setFirewallPassword

public void setFirewallPassword(java.lang.String firewallPassword)
                         throws IPWorksException
A password if authentication is to be used connecting through the firewall. if FirewallHost is specified, the FirewallUser and FirewallPassword properties are used to connect and authenticate to the given firewall. If the authentication fails, a trappable error is fired.


getFirewallPort

public int getFirewallPort()
Port of the firewall to connect to. The TCP port for the FirewallHost . See the description of the FirewallHost property for details.

Note that the FirewallPort is set automatically when FirewallType is set to a valid value. See the description of the FirewallType property for details.


setFirewallPort

public void setFirewallPort(int firewallPort)
                     throws IPWorksException
Port of the firewall to connect to. The TCP port for the FirewallHost . See the description of the FirewallHost property for details.

Note that the FirewallPort is set automatically when FirewallType is set to a valid value. See the description of the FirewallType property for details.


getFirewallType

public int getFirewallType()
Determines the type of firewall to connect through. The applicable values are the following:
fwNone (0)
No firewall (default setting).
fwTunnel (1)
Connect through a tunneling proxy. FirewallPort is set to 80.
fwSOCKS4 (2)
Connect through a SOCKS4 Proxy. FirewallPort is set to 1080.
fwSOCKS5 (3)
Connect through a SOCKS5 Proxy. FirewallPort is set to 1080.


setFirewallType

public void setFirewallType(int firewallType)
                     throws IPWorksException
Determines the type of firewall to connect through. The applicable values are the following:
fwNone (0)
No firewall (default setting).
fwTunnel (1)
Connect through a tunneling proxy. FirewallPort is set to 80.
fwSOCKS4 (2)
Connect through a SOCKS4 Proxy. FirewallPort is set to 1080.
fwSOCKS5 (3)
Connect through a SOCKS5 Proxy. FirewallPort is set to 1080.


getFirewallUser

public java.lang.String getFirewallUser()
A user name if authentication is to be used connecting through a firewall. if FirewallHost is specified, the FirewallUser and FirewallPassword properties are used to connect and authenticate to the given firewall. If the authentication fails, a trappable error is fired.


setFirewallUser

public void setFirewallUser(java.lang.String firewallUser)
                     throws IPWorksException
A user name if authentication is to be used connecting through a firewall. if FirewallHost is specified, the FirewallUser and FirewallPassword properties are used to connect and authenticate to the given firewall. If the authentication fails, a trappable error is fired.


getFollowRedirects

public int getFollowRedirects()
Determines what happens when the server issues a redirect. Normally, the control returns an error if the server responds with an "Object Moved" message. If FollowRedirects is set to frAlways (1) the new URL for the object is retrieved automatically every time.

If FollowRedirects is set to frSameScheme (2), the new URL is retrieved automatically only if the URLScheme is the same, otherwise a runtime error is returned.

Note that following the HTTP specification, automatic redirects, will be performed only for 'GET' or 'HEAD' requests. Other methods could potentially change the conditions of the initial request and create security vulnerabilities.

The default value is frNever (0). In this case, redirects are never followed, and a runtime error is generated instead.


setFollowRedirects

public void setFollowRedirects(int followRedirects)
                        throws IPWorksException
Determines what happens when the server issues a redirect. Normally, the control returns an error if the server responds with an "Object Moved" message. If FollowRedirects is set to frAlways (1) the new URL for the object is retrieved automatically every time.

If FollowRedirects is set to frSameScheme (2), the new URL is retrieved automatically only if the URLScheme is the same, otherwise a runtime error is returned.

Note that following the HTTP specification, automatic redirects, will be performed only for 'GET' or 'HEAD' requests. Other methods could potentially change the conditions of the initial request and create security vulnerabilities.

The default value is frNever (0). In this case, redirects are never followed, and a runtime error is generated instead.


getFrom

public java.lang.String getFrom()
The email address of the HTTP agent (optional). If the From property contains a non-empty string, an HTTP From: header is added to the request. This header generally gives the email address of the requester of the document.


setFrom

public void setFrom(java.lang.String from)
             throws IPWorksException
The email address of the HTTP agent (optional). If the From property contains a non-empty string, an HTTP From: header is added to the request. This header generally gives the email address of the requester of the document.


getHTTPMethod

public java.lang.String getHTTPMethod()
The HTTP method used for the request. If an empty string is provided, the HTTPMethod is computed automatically by the specified Action . You may change it to a custom value if you require a method other than what is provided by the control actions.


setHTTPMethod

public void setHTTPMethod(java.lang.String HTTPMethod)
                   throws IPWorksException
The HTTP method used for the request. If an empty string is provided, the HTTPMethod is computed automatically by the specified Action . You may change it to a custom value if you require a method other than what is provided by the control actions.


getHTTPVersion

public java.lang.String getHTTPVersion()
The version of HTTP used by the component. The default for HTTPVersion is HTTP/1.0.


setHTTPVersion

public void setHTTPVersion(java.lang.String HTTPVersion)
                    throws IPWorksException
The version of HTTP used by the component. The default for HTTPVersion is HTTP/1.0.


getIfModifiedSince

public java.lang.String getIfModifiedSince()
A date determining the maximum age of the desired document. If the IfModifiedSince property contains a non-empty string, a If-Modified-Since HTTP request header is added to the request. The value of the header is used to make the HTTP request conditional: if the requested documented has not been modified since the time specified in the field, a copy of the document will not be returned from the server; instead, a 304 (not modified) response will be returned only.

The format of the date value for IfModifiedSince is detailed in the HTTP specs. An example is Sat, 29 Oct 1994 19:43:31 GMT.


setIfModifiedSince

public void setIfModifiedSince(java.lang.String ifModifiedSince)
                        throws IPWorksException
A date determining the maximum age of the desired document. If the IfModifiedSince property contains a non-empty string, a If-Modified-Since HTTP request header is added to the request. The value of the header is used to make the HTTP request conditional: if the requested documented has not been modified since the time specified in the field, a copy of the document will not be returned from the server; instead, a 304 (not modified) response will be returned only.

The format of the date value for IfModifiedSince is detailed in the HTTP specs. An example is Sat, 29 Oct 1994 19:43:31 GMT.


getLocalFile

public java.lang.String getLocalFile()
The path to a local file for downloading. If the file exists, it is overwritten. (optional) The LocalFile property is used when getting a document via the Action property. If LocalFile is empty then the received data is provided through the parameters of the Transfer event.


setLocalFile

public void setLocalFile(java.lang.String localFile)
                  throws IPWorksException
The path to a local file for downloading. If the file exists, it is overwritten. (optional) The LocalFile property is used when getting a document via the Action property. If LocalFile is empty then the received data is provided through the parameters of the Transfer event.


getLocalHost

public java.lang.String getLocalHost()
The name of the local host or user-assigned IP interface through which connections are initiated or accepted. The LocalHost property contains the name of the local host as obtained by the gethostname() Winsock call, or if the user has assigned an IP address, the value of that address.

In multihomed hosts (machines with more than one IP interface) setting LocalHost to the value of an interface will make the control initiate connections (or accept in the case of server controls) only through that interface.

If the control is connected, the LocalHost property shows the IP address of the interface through which the connection is made in internet dotted format (aaa.bbb.ccc.ddd). In most cases, this is the address of the local host, except for multihomed hosts (machines with more than one IP interface).

NOTE: LocalHost is not persistent. You must always set it in code, and never in the property window.


setLocalHost

public void setLocalHost(java.lang.String localHost)
                  throws IPWorksException
The name of the local host or user-assigned IP interface through which connections are initiated or accepted. The LocalHost property contains the name of the local host as obtained by the gethostname() Winsock call, or if the user has assigned an IP address, the value of that address.

In multihomed hosts (machines with more than one IP interface) setting LocalHost to the value of an interface will make the control initiate connections (or accept in the case of server controls) only through that interface.

If the control is connected, the LocalHost property shows the IP address of the interface through which the connection is made in internet dotted format (aaa.bbb.ccc.ddd). In most cases, this is the address of the local host, except for multihomed hosts (machines with more than one IP interface).

NOTE: LocalHost is not persistent. You must always set it in code, and never in the property window.


getMaxTransferredData

public int getMaxTransferredData()
The maximum number of bytes to store in TransferredData . The default value is 4096, allowing the control to accumulate the first 4K of data into the TransferredData buffer.

If MaxTransferredData is set to 0, no limits are imposed.


setMaxTransferredData

public void setMaxTransferredData(int maxTransferredData)
                           throws IPWorksException
The maximum number of bytes to store in TransferredData . The default value is 4096, allowing the control to accumulate the first 4K of data into the TransferredData buffer.

If MaxTransferredData is set to 0, no limits are imposed.


getOtherHeaders

public java.lang.String getOtherHeaders()
Other headers as determined by the user (optional). The OtherHeaders property contains a string of headers to be appended to the HTTP request headers created from other properties like ContentType , From , etc.

The headers must of the format "header: value" as specified in the HTTP specs. Header lines should be separated by CRLF ("\\r\\n").

Use this property with caution. If OtherHeaders contains invalid headers, HTTP requests may fail.

The OtherHeaders property is useful for extending the functionality of the control beyond what is provided.


setOtherHeaders

public void setOtherHeaders(java.lang.String otherHeaders)
                     throws IPWorksException
Other headers as determined by the user (optional). The OtherHeaders property contains a string of headers to be appended to the HTTP request headers created from other properties like ContentType , From , etc.

The headers must of the format "header: value" as specified in the HTTP specs. Header lines should be separated by CRLF ("\\r\\n").

Use this property with caution. If OtherHeaders contains invalid headers, HTTP requests may fail.

The OtherHeaders property is useful for extending the functionality of the control beyond what is provided.


getPassword

public java.lang.String getPassword()
A password if Basic authentication is to be used. The User and Password are Base64 encoded and the result is put in the Authorization property in the form "Basic [encoded-user-password]".

The User and Password properties must be set only after the URL property is set. When the URL property is set, for security reasons, the User and Password properties are immediately cleared.


setPassword

public void setPassword(java.lang.String password)
                 throws IPWorksException
A password if Basic authentication is to be used. The User and Password are Base64 encoded and the result is put in the Authorization property in the form "Basic [encoded-user-password]".

The User and Password properties must be set only after the URL property is set. When the URL property is set, for security reasons, the User and Password properties are immediately cleared.


getPostData

public byte[] getPostData()
The data to post with the URL if the POST method is used. If PostData is a non-empty string, then if the HTTP 'POST' method is used ( Post Data Action ), the contents of the PostData property are appended to the HTTP request after the HTTP headers.

An HTTP 'Content-Length' header is also added to the request. Its value is the length of the string in PostData , or, if the AttachedFile property has been set, the cumulative length of the string and the file. See the description of the AttachedFile property for details.


setPostData

public void setPostData(byte[] postData)
                 throws IPWorksException
The data to post with the URL if the POST method is used. If PostData is a non-empty string, then if the HTTP 'POST' method is used ( Post Data Action ), the contents of the PostData property are appended to the HTTP request after the HTTP headers.

An HTTP 'Content-Length' header is also added to the request. Its value is the length of the string in PostData , or, if the AttachedFile property has been set, the cumulative length of the string and the file. See the description of the AttachedFile property for details.


getPragma

public java.lang.String getPragma()
A browser/server specific header line (optional). If the Pragma property contains a non-empty string, a Pragma HTTP request header is added to the request. The meaning of the header depends on the implementation and can be used to send/receive proprietary information to/from the server.


setPragma

public void setPragma(java.lang.String pragma)
               throws IPWorksException
A browser/server specific header line (optional). If the Pragma property contains a non-empty string, a Pragma HTTP request header is added to the request. The meaning of the header depends on the implementation and can be used to send/receive proprietary information to/from the server.


getProxyAuthorization

public java.lang.String getProxyAuthorization()
Similar to the Authorization property, but for proxy authorization. If the Authorization property contains a non-empty string, a Prxy-Authorization HTTP request header is added to the request. This header conveys proxy authorization information to the server.

If ProxyUser and ProxyPassword are specified, they are Base64 encoded, and the result is put in the ProxyAuthorization property in the form "Basic [encoded-proxyuser-proxypassword]".


setProxyAuthorization

public void setProxyAuthorization(java.lang.String proxyAuthorization)
                           throws IPWorksException
Similar to the Authorization property, but for proxy authorization. If the Authorization property contains a non-empty string, a Prxy-Authorization HTTP request header is added to the request. This header conveys proxy authorization information to the server.

If ProxyUser and ProxyPassword are specified, they are Base64 encoded, and the result is put in the ProxyAuthorization property in the form "Basic [encoded-proxyuser-proxypassword]".


getProxyPassword

public java.lang.String getProxyPassword()
A password if Basic authentication is to be used for the proxy. The ProxyUser and ProxyPassword are Base64 encoded, and the result is put in the ProxyAuthorization property in the form "Basic [encoded-proxyuser-proxypassword]".

The ProxyUser and ProxyPassword properties must be set only after the URL property is set. When the URL property is set, for security reasons, the ProxyUser and ProxyPassword properties are immediately cleared.


setProxyPassword

public void setProxyPassword(java.lang.String proxyPassword)
                      throws IPWorksException
A password if Basic authentication is to be used for the proxy. The ProxyUser and ProxyPassword are Base64 encoded, and the result is put in the ProxyAuthorization property in the form "Basic [encoded-proxyuser-proxypassword]".

The ProxyUser and ProxyPassword properties must be set only after the URL property is set. When the URL property is set, for security reasons, the ProxyUser and ProxyPassword properties are immediately cleared.


getProxyPort

public int getProxyPort()
Port for the proxy server (default 80). The TCP port for the ProxyServer . See the description of the ProxyServer property for details.


setProxyPort

public void setProxyPort(int proxyPort)
                  throws IPWorksException
Port for the proxy server (default 80). The TCP port for the ProxyServer . See the description of the ProxyServer property for details.


getProxyServer

public java.lang.String getProxyServer()
Name or IP address of a proxy server (optional). If a ProxyServer is given, then the HTTP request is sent to the proxy instead of the server specified in the URL .

If the ProxyServer property is set to a Domain Name, a DNS request is initiated and upon successful termination of the request, the ProxyServer property is set to the corresponding address. If the search is not successful, an error is returned.


setProxyServer

public void setProxyServer(java.lang.String proxyServer)
                    throws IPWorksException
Name or IP address of a proxy server (optional). If a ProxyServer is given, then the HTTP request is sent to the proxy instead of the server specified in the URL .

If the ProxyServer property is set to a Domain Name, a DNS request is initiated and upon successful termination of the request, the ProxyServer property is set to the corresponding address. If the search is not successful, an error is returned.


getProxyUser

public java.lang.String getProxyUser()
A user name if Basic authentication is to be used for the proxy. The ProxyUser and ProxyPassword are Base64 encoded, and the result is put in the ProxyAuthorization property in the form "Basic [encoded-proxyuser-proxypassword]".

The ProxyUser and ProxyPassword properties must be set only after the URL property is set. When the URL property is set, for security reasons, the ProxyUser and ProxyPassword properties are immediately cleared.


setProxyUser

public void setProxyUser(java.lang.String proxyUser)
                  throws IPWorksException
A user name if Basic authentication is to be used for the proxy. The ProxyUser and ProxyPassword are Base64 encoded, and the result is put in the ProxyAuthorization property in the form "Basic [encoded-proxyuser-proxypassword]".

The ProxyUser and ProxyPassword properties must be set only after the URL property is set. When the URL property is set, for security reasons, the ProxyUser and ProxyPassword properties are immediately cleared.


getReferer

public java.lang.String getReferer()
Referer URL/document (optional). If the Referer property contains a non-empty string, a Referer HTTP request header is added to the request. The purpose of the header is to show the document referring the requested URL.


setReferer

public void setReferer(java.lang.String referer)
                throws IPWorksException
Referer URL/document (optional). If the Referer property contains a non-empty string, a Referer HTTP request header is added to the request. The purpose of the header is to show the document referring the requested URL.


getStatusLine

public java.lang.String getStatusLine()
The first line of the last server response. This value can be used for diagnostic purposes. If an HTTP error is returned when setting the Action property, the error string is the same as the StatusLine property.

The HTTP protocol specifies the structure of the StatusLine as: [HTTP version] [Result Code] [Description].


getTimeout

public int getTimeout()
A timeout for the component. If the Timeout property is set to 0 (default value) all actions will run uninterrupted until succesful completion, or an error condition is encountered.

If Timeout is set to a positive value, and any action does not complete within Timeout seconds, the action is aborted, and a 'Timeout' error is fired..

The control will use DoEvents to enter an efficient wait loop during any potential waiting period, making sure that all system events are processed immediately as they arrive. This ensures that the host application does not "freeze" and always remains responsive.


setTimeout

public void setTimeout(int timeout)
                throws IPWorksException
A timeout for the component. If the Timeout property is set to 0 (default value) all actions will run uninterrupted until succesful completion, or an error condition is encountered.

If Timeout is set to a positive value, and any action does not complete within Timeout seconds, the action is aborted, and a 'Timeout' error is fired..

The control will use DoEvents to enter an efficient wait loop during any potential waiting period, making sure that all system events are processed immediately as they arrive. This ensures that the host application does not "freeze" and always remains responsive.


getTransferredData

public byte[] getTransferredData()
The contents of the last transfer. If the LocalFile is not empty, the data is not accumulated and TransferredData returns an empty string.

The MaxTransferredData property controls the amount of data accumulated in TransferredData .


getTransferredHeaders

public java.lang.String getTransferredHeaders()
The full set of headers as received from the server. This property returns the complete set of raw headers as received from the server. The Header event shows the individual headers as parsed by the control.


getURL

public java.lang.String getURL()
The URL to fetch. The URL of the document. This value is parsed, and the results are put in the URLScheme , URLServer , URLPort , and URLPath properties.


setURL

public void setURL(java.lang.String URL)
            throws IPWorksException
The URL to fetch. The URL of the document. This value is parsed, and the results are put in the URLScheme , URLServer , URLPort , and URLPath properties.


getURLPath

public java.lang.String getURLPath()
The path for the URL. The URL path as determined by parsing the value set in the URL property.


setURLPath

public void setURLPath(java.lang.String URLPath)
                throws IPWorksException
The path for the URL. The URL path as determined by parsing the value set in the URL property.


getURLPort

public int getURLPort()
The port for the URL. The HTTP server port as determined by parsing the value set in the URL property.


setURLPort

public void setURLPort(int URLPort)
                throws IPWorksException
The port for the URL. The HTTP server port as determined by parsing the value set in the URL property.


getURLScheme

public java.lang.String getURLScheme()
The scheme for the URL. The URL scheme as determined by parsing the value set in the URL property.


setURLScheme

public void setURLScheme(java.lang.String URLScheme)
                  throws IPWorksException
The scheme for the URL. The URL scheme as determined by parsing the value set in the URL property.


getURLServer

public java.lang.String getURLServer()
The server for the URL. The HTTP server name as determined by parsing the value set in the URL property.


setURLServer

public void setURLServer(java.lang.String URLServer)
                  throws IPWorksException
The server for the URL. The HTTP server name as determined by parsing the value set in the URL property.


getUser

public java.lang.String getUser()
A user name if Basic authentication is to be used. The User and Password are Base64 encoded, and the result is put in the Authorization property in the form "Basic [encoded-user-password]".

The User and Password properties must be set only after the URL property is set. When the URL property is set, for security reasons, the User and Password properties are immediately cleared.


setUser

public void setUser(java.lang.String user)
             throws IPWorksException
A user name if Basic authentication is to be used. The User and Password are Base64 encoded, and the result is put in the Authorization property in the form "Basic [encoded-user-password]".

The User and Password properties must be set only after the URL property is set. When the URL property is set, for security reasons, the User and Password properties are immediately cleared.


getUserAgent

public java.lang.String getUserAgent()
Information about the user agent (browser). Override the default with the name and version of your software.


setUserAgent

public void setUserAgent(java.lang.String userAgent)
                  throws IPWorksException
Information about the user agent (browser). Override the default with the name and version of your software.


fireConnected

public void fireConnected(int statusCode,
                          java.lang.String description)
Fired immediately after a connection completes (or fails). (Called internally to dispatch the event.)
See Also:
HttpConnectedEvent

fireDisconnected

public void fireDisconnected(int statusCode,
                             java.lang.String description)
Fired when a connection is closed. (Called internally to dispatch the event.)
See Also:
HttpDisconnectedEvent

fireEndTransfer

public void fireEndTransfer(int direction)
Fired when a document finishes transferring. (Called internally to dispatch the event.)
See Also:
HttpEndTransferEvent

fireError

public void fireError(int errorCode,
                      java.lang.String description)
Information about errors during data delivery. (Called internally to dispatch the event.)
See Also:
HttpErrorEvent

fireHeader

public void fireHeader(java.lang.String field,
                       java.lang.String value)
Fired every time a header line comes in. (Called internally to dispatch the event.)
See Also:
HttpHeaderEvent

fireSetCookie

public void fireSetCookie(java.lang.String name,
                          java.lang.String value,
                          java.lang.String expires,
                          java.lang.String domain,
                          java.lang.String path,
                          boolean secure)
Fired for every cookie set by the server. (Called internally to dispatch the event.)
See Also:
HttpSetCookieEvent

fireStartTransfer

public void fireStartTransfer(int direction)
Fired when a document starts transferring (after the headers). (Called internally to dispatch the event.)
See Also:
HttpStartTransferEvent

fireTransfer

public void fireTransfer(int direction,
                         int bytesTransferred,
                         byte[] text)
Fired while a document transfers (delivers document). (Called internally to dispatch the event.)
See Also:
HttpTransferEvent

addCookie

public void addCookie(java.lang.String cookieName,
                      java.lang.String cookieValue)
               throws IPWorksException
Sets a cookie and the corresponding value. Please refer to the CookieName and CookieValue properties for more information on cookies and how they are managed.


get

public void get(java.lang.String URL)
         throws IPWorksException
Fetch the document using the HTTP GET method. Fetch the document using the HTTP GET method. The document contents are delivered through the Transfer event, and the HTTP response headers through the Header event. If LocalFile is not empty the data (not the headers) is written there as well.

Calling this method is equivalent to setting the Action property to httpGet .


head

public void head(java.lang.String URL)
          throws IPWorksException
Fetch the document headers using the HTTP HEAD method. Fetch the document headers using the HTTP HEAD method. The headers are received through the Header event.

Calling this method is equivalent to setting the Action property to httpHead .


interrupt

public void interrupt()
               throws IPWorksException
Interrupt the Action in progress (if any). Calling this method is equivalent to setting the Action property to Idle (0) .


post

public void post(java.lang.String URL)
          throws IPWorksException
Post data to the HTTP server using the HTTP POST method. Post data to the HTTP server using the HTTP POST method. The posted data are taken from PostData and/or AttachedFile . The server response text is received through the Transfer event, and the HTTP response headers through the Header event. If LocalFile is not empty the data (not the headers) is written there as well.

Calling this method is equivalent to setting the Action property to httpPost .


put

public void put(java.lang.String URL)
         throws IPWorksException
Send data to the HTTP server using the HTTP PUT method. Send data to the HTTP server using the HTTP PUT method. The data are taken from PostData and/or AttachedFile . The server response text is received through the Transfer event, and the HTTP response headers through the Header event. If LocalFile is not empty the data (not the headers) is written there as well. The user should normally have assigned correct values to User and Password or Authorization .

Calling this method is equivalent to setting the Action property to httpPut .


resetHeaders

public void resetHeaders()
                  throws IPWorksException
Resets all HTTP headers, cookies, LocalFile , and AttachedFile . Resets all the HTTP headers as well as LocalFile and AttachedFile to "" (empty string). Also sets CookieCount to 0 (resets cookie arrays). Use this method before creating a new request, so that headers from the previous message are not carried over to the next one.

Calling this method is equivalent to setting the Action property to httpResetHeaders .


addHttpEventListener

public void addHttpEventListener(HttpEventListener l)
                          throws java.util.TooManyListenersException

removeHttpEventListener

public void removeHttpEventListener(HttpEventListener l)

IP*Works!

Copyright (c) 2001 /n software inc. - All rights reserved.