Name
http_get — returns a varchar containing the body of the request uri
Synopsis
varchar
http_get
(
|
in target_uri varchar , |
out return_header any , | |
in http_method varchar , | |
in request_header varchar , | |
in request_body varchar , | |
in
proxy
varchar
) ; |
Description
http_get returns a varchar containing the body of the requested target_uri or NULL if the body is not received.
Parameters
target_uri
HTTP target in form http://<target_host>:<target_port>/<path> (if <target_port> is not given then 80 will be used by default)
return_header
This output parameter is set to the array of HTTP response header lines from the target server, if the parameter is a constant it will be ignored.
http_method
This parameter will be used to specify the HTTP request method. Possible values are: GET, POST, PUT, OPTIONS or see RFC2616[5.1.1] for details.
request_header
This string will be sent to the target server together with other header fields. If more than one header field should be sent then header fields must be separated with CR/LF pair. (Warning: this string must not be terminated with CR/LF pair!).
request_body
This string will be sent to the target server as the request body. The "Content-Length" header field is set to the length of this string.
proxy
If this parameter is supplied the request will be passed through this HTTP proxy. The format is <proxy_host>:<proxy_port> .
Supports:
http://[user:pass@]host:port - user & pass are optional
socks4://[user:pass@]host:port - user & pass are optional
socks5://[user:pass@]host:port - user & pass are optional
socks5-host://[user:pass@]host:port - user & pass are optional
In the INI file, in section HTTPServer should be set:
HTTPProxyServer = proxytest:3128 HTTPProxyExceptions = localhost:8890, 127.0.0.1:8890
Exception could be also 127.0.0.* i.e. there could have also wildcard.
Errors
Table 24.39. Errors signalled by
SQLState | Error Code | Error Text | Description |
---|---|---|---|
HT001 | Not valid host name or host IP address | ||
HT002 | Target host is unreachable |
Examples
Example 24.163. Using http_get()
declare header any; page := http_get ('http://www.openlinksw.com/'); ... page := http_get ('http://www.openlinksw.com/', header, 'GET', 'If-Modified-Since: Fri, 21 Jul 2000 11:19:45 GMT'); ... page := http_get ('http://example.com/some_link.html', header, 'POST', '', 'a=1&b=2'); ... page := http_get ('http://www.openlinksw.com/', NULL, 'GET', '', '', 'proxy.server.com:8080');