Internet service
Note
Inet object is considered to be obsolete.
Obsolete features are still available to use, but are no
longer eligible for technical support and will no longer be enhanced.
You can replace it by using the WebBrowser control or the HTTPClient
object.
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)
Hyperlinking to a URL
You call the Internet service’s HyperLinkToURL function to start
the default browser with a specified URL.
To hyperlink to a URL:
-
Declare an instance or global variable of type inet:
1inet iinet_base -
Create the Internet service by calling the GetContextService
function:1THIS.GetContextService("inet", iinet_base) -
Call the HyperLinkToURL function, passing the URL of the page
to display when the browser starts:12iinet_base.HyperlinkToURL &("https://www.appeon.com")
Getting a URL
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.
To perform an HTTP Get:
-
Declare an instance or global variable of type Inet. Also
declare an instance or global variable using the descendant
InternetResult object as the datatype (n_ir_msgbox in this
example):12Inet iinet_basen_ir_msgbox iir_msgbox -
Create the Internet service by calling the GetContextService
function:1THIS.GetContextService("Internet", iinet_base) -
Create an instance of the descendant InternetResult
object:1iir_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 descendant
InternetResult object:12iinet_base.GetURL &("http://www.appeon.com", iir_msgbox)When the GetURL function completes, it calls the InternetData
function defined in the descendant InternetResult object, passing
the HTML for the specified URL.
Posting to a 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.
To perform an HTTP Post:
-
Declare an instance or global variable of type Inet. Also
declare an instance or global variable using the descendant
InternetResult object as the datatype (n_ir_msgbox in this
example):12Inet iinet_basen_ir_msgbox iir_msgbox -
Create the Internet service by calling the GetContextService
function:1THIS.GetContextService("Internet", iinet_base) -
Create an instance of the descendant InternetResult
object:1iir_msgbox = CREATE n_ir_msgbox -
Establish the arguments to the PostURL function:
1234567891011Blob lblb_argsString ls_headersString ls_urlLong ll_lengthls_url = "http://coltrane.appeon.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 descendant
InternetResult object:12iinet_base.PostURL &(ls_url, lblb_args, ls_headers, 8080, iir_msgbox)When the PostURL function completes, it calls the InternetData
function defined in the descendant InternetResult object, passing
the HTML returned by the specified routine.
Using the InternetResult
object
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 descendant user
objects, define an InternetData function to process the passed HTML as
appropriate.
To implement a descendant InternetResult object:
-
Create a standard class user object of type
InternetResult. -
Declare a new user object function as follows:
-
Name
InternetData
-
Access
Public
-
Returns
Integer
-
Argument name
Data, passed by value
-
Argument datatype
Blob
-
-
Add code to the InternetData function that processes the
returned HTML as appropriate. This example simply displays the HTML
in a MessageBox:123MessageBox("Returned HTML", &String(data, EncodingANSI!))Return 1