Use the Internet service to:
Display a Web page in the default browser (HyperLinkToURL function, which starts the default browser with the specified URL)
Access the HTML for a specified page (GetURL function, which performs an HTTP Get)
Send data to a CGI, ISAPI, or NSAPI program (PostURL function, which performs an HTTP Post)
You call the Internet service’s HyperLinkToURL function to start the default browser with a specified URL.
Declare an instance or global variable of type Inet:
Inet iinet_base
Create the Internet service by calling the GetContextService function:
THIS.GetContextService("Inet", iinet_base)
Call the HyperLinkToURL function, passing the URL of the page to display when the browser starts:
iinet_base.HyperlinkToURL &
("http://www.sybase.com")
You call the Internet service’s GetURL function to perform an HTTP Get, returning raw HTML for a specified URL. This function returns the raw HTML using the InternetResult object.
Declare an instance or global variable of type Inet. Also declare an instance or global variable using the descendent InternetResult object as the datatype (n_ir_msgbox in this example):
Inet iinet_base
n_ir_msgbox iir_msgbox
Create the Internet service by calling the GetContextService function:
THIS.GetContextService("Internet", iinet_base)
Create an instance of the descendent InternetResult object:
iir_msgbox = CREATE n_ir_msgbox
Call the GetURL function, passing the URL of the page to be returned and a reference to the instance of the descendent InternetResult object:
iinet_base.GetURL &
("http://www.sybase.com", iir_msgbox)
When the GetURL function completes, it calls the InternetData function defined in the descendent InternetResult object, passing the HTML for the specified URL.
You call the Internet service’s PostURL function to perform an HTTP Post, sending data to a CGI, ISAPI, or NSAPI program. This function returns the raw HTML using the InternetResult object.
Declare an instance or global variable of type Inet. Also declare an instance or global variable using the descendent InternetResult object as the datatype (n_ir_msgbox in this example):
Inet iinet_base
n_ir_msgbox iir_msgbox
Create the Internet service by calling the GetContextService function:
THIS.GetContextService("Internet", iinet_base)
Create an instance of the descendent InternetResult object:
iir_msgbox = CREATE n_ir_msgbox
Establish the arguments to the PostURL function:
Blob lblb_args
String ls_headers
String ls_url
Long ll_length
ls_url = "http://coltrane.sybase.com/"
ls_url += "cgi-bin/pbcgi80.exe/"
ls_url += "myapp/n_cst_html/f_test?"
lblb_args = Blob("")
ll_length = Len(lblb_args)
ls_headers = "Content-Length: " & + String(ll_length) + "~n~n"
Call the PostURL function, passing the URL of the routine to be executed, the arguments, the header, an optional server port specification, and a reference to the instance of the descendent InternetResult object:
iinet_base.PostURL & (ls_url, lblb_args, ls_headers, 8080, iir_msgbox)
When the PostURL function completes, it calls the InternetData function defined in the descendent InternetResult object, passing the HTML returned by the specified routine.
The GetURL and PostURL functions both receive data in an InternetResult object. This object acts as a buffer, receiving and caching the asynchronous data as it is returned by means of the Internet. When all data is received, the InternetResult object calls its InternetData function, which you override to process the data as appropriate.
Implement in descendants of InternetResult You implement this feature by creating standard class user objects of type InternetResult. In each of these descendent user objects, define an InternetData function to process the passed HTML as appropriate.
To implement a descendent InternetResult object:
Create a standard class user object of type InternetResult.
Declare a new user object function as follows:
Add code to the InternetData function that processes the returned HTML as appropriate. This example simply displays the HTML in a MessageBox:
MessageBox("Returned HTML", & String(data, EncodingANSI!))
Return 1