The send_http_request
function sends an HTTP request.
send_http_request( params )
Argument | Description |
---|---|
params
|
(table) Named parameters that configure the HTTP request. The table maps parameter names (string) to parameter values. For information about the parameters that you can set, see the following table. |
Named Parameter | Description |
---|---|
url
|
(string) The full URL for the HTTP request. If you provide a URL, the other parameters used to build the URL are not used. |
method
|
(string) The HTTP method to use (GET , POST , or DELETE ). The default is "GET" . |
headers
|
(table) A table of HTTP headers to send with the request. The table must map header names to values. |
content
|
(string) For HTTP POST, the data to be sent with the post. |
site
|
(string) The site to which the HTTP request is sent. |
port
|
(integer) The port to which the HTTP request is sent. By default, the request is sent to port 80. |
uri
|
(string) The URI to request. |
params
|
(table) Additional parameters for the request. The table must map parameter names to parameter values. |
section
|
(string) The name of a section in the configuration file that contains transport related parameters such as SSL or proxy settings. |
options
|
(table) A table of HTTP client options to use for the request. For information about the options that you can set, see the following table. |
Named Parameter | Description |
---|---|
BasicOnAuthenticate
|
A Boolean value that specifies whether to delay authentication. Some types of authentication (for example Siteminder) require that authentication is delayed until credentials are requested. |
BasicPassword
|
The password to use to access resources protected by basic authentication. |
BasicUsername
|
The username to use to access resources protected by basic authentication. |
DigestPassword
|
The password to use to access resources protected by HTTP Digest authentication. |
DigestUsername
|
The username to use to access resources protected by HTTP Digest authentication. |
EnableKerberos
|
A Boolean value that specifies whether to use Kerberos authentication. |
GSSName
|
The file name of the GSS library. This library is required to use Kerberos authentication. |
GSSPath
|
The path to the folder that contains the GSS library. This library is required to use Kerberos authentication. |
HttpConnectTimeout
|
The maximum amount of time to wait for an HTTP server to respond when establishing a connection (in seconds). |
HttpReadTimeout
|
The maximum amount of time to wait to receive data from an HTTP server (in seconds). |
NTLMPassword
|
The password to use to access resources protected by NTLM authentication. |
NTLMUsername
|
The username to use to access resources protected by NTLM authentication. |
ProxyHost
|
The host name or IP address of the proxy server to use. |
ProxyPassword
|
The password to use to authenticate with the proxy server. |
ProxyPort
|
The port of the proxy server to use. |
ProxyUsername
|
The user name to use to authenticate with the proxy server. |
SSLMethod
|
The SSL protocol to use. Refer to the documentation for the SSLMethod configuration parameter for a list of possible options. |
UserAgent
|
The value to use for the user-agent request header. |
UseSPNEGO
|
A Boolean value that specifies whether to use the SPNEGO protocol to decide which type of authentication to use. |
String. The HTTP response.
The send_http_request
function can throw an exception if the request fails. You can catch an exception by calling send_http_request
using the Lua function pcall
.
The following example shows how to make a simple request:
local wikipedia_page = send_http_request( {url = "http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol"} )
The following example shows how to make the same request but catch any exceptions with the Lua pcall
function:
local result, response = pcall ( send_http_request, {url = "http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol"} )
When the send_http_request
function is successful, the result
variable is true
and response
contains the response. If an exception is thrown from send_http_request
, the result
variable is false
and response
contains the error message.
The following examples demonstrate how to add additional named parameters:
local google_search = send_http_request( {site = "www.google.co.uk", port = 80, uri = "/search", params = {q = "http protocol", safe = "active"}} )
local search = send_http_request( {site = "www.site.com", port = 80, uri = "/query", params = {text = "http headers", maxresults = "10"} headers = { Cache-Control = "no-cache" }} )
|