Low-Level Web Functions Overview

Silk Performer’s low-level web functions provide an easy, high-level method for communicating with a Web server. Each low-level web call results in sending a request and waiting for a response.

Low-level web functions can be used synchronously or asynchronously. Set the thread limitation value (see WebSetMaxThreads function) to 1 for synchronous operation.

Formatting URLs

Silk Performer’s low-level web functions rely heavily on the use of URLs. The format of all URLs must follow accepted syntax and semantics in order to access resources via the Web. Canonicalization is the process of formatting a URL to follow this accepted syntax and semantics. Characters that must be encoded include any characters that have no corresponding graphic character in the US ASCII coded character set (i.e., hexadecimal 80-FF, which are not used in the US-ASCII coded character set, and hexadecimal 00-1F and 7F, which are control characters), blank spaces, "%" (which is used to encode other characters) and unsafe characters (<, >, ", #, {, }, |, \, ^, ~, [, ], and ').

Printable ASCII characters being URL encoded % ? # [ ] { } | \ & = @ : ^ ~ ' ` " $ + ! * ' ( ) , < >

Form submissions

Forms declared in the dclform section are combined and URL encoded prior to submission.

Example

dclform
  SAMPLE1:
    "leftval1" := "rightval1",
    "leftval2" := "",
    ""         := "rightval3",
    "encoded"  := "unsafe @ characters";

will be sent as part of URLs

WebUrl("http://www.host.com/cgi/sample?leftval1=rightval1&"
"leftval2=&rightval3&encoded=unsafe+%40+characters");

or as POST body:

"leftval1=rightval1&leftval2=&rightval3&encoded=unsafe+%40+characters"