Revision Difference
http.Fetch#528402
<function name="Fetch" parent="http" type="libraryfunc">
<description>Launches a GET request.⤶
<note>HTTP-requests to destinations on private networks (such as `192.168.0.1`) won't work.<br/> To enable HTTP-requests to destinations on private networks use <page>Command Line Parameters</page> `-allowlocalhttp`</note>⤶
</description>⤶
<description>⤶
Launches an asynchronous **GET** request to a HTTP server.⤶
⤶
HTTP requests returning a status code >= `400` are still considered a success and will call the <page text="onSuccess">Structures/HTTPRequest</page> callback.⤶
⤶
The <page text="onFailure">Structures/HTTPRequest</page> callback is usually only called on DNS or TCP errors (e.g. the website is unavailable or the domain does not exist).⤶
<note>HTTP-requests to destinations on private networks (such as `192.168.0.1`) won't work.<br/> To enable HTTP-requests to destinations on private networks use <page>Command Line Parameters</page> `-allowlocalhttp`.</note>⤶
</description>⤶
<realm>Shared and Menu</realm>
<file line="18-L44">lua/includes/modules/http.lua</file>
<args>
<arg name="url" type="string">The URL of the website to fetch.</arg>
<arg name="onSuccess" type="function" default="nil">Function to be called on success. Arguments are
* <page>string</page> body
* <page>string</page> size - equal to <page>string.len</page>(body)
* <page>string</page> size - equal to <page>string.len</page>(body).
* <page>table</page> headers
* <page>number</page> code - The HTTP success code</arg>⤶
* <page>number</page> code - The HTTP success code.</arg>⤶
<arg name="onFailure" type="function" default="nil">Function to be called on failure. Arguments are
* <page>string</page> error - The error message</arg>⤶
<arg name="headers" type="table" default="{}">KeyValue table for headers</arg>⤶
* <page>string</page> error - The error message.</arg>⤶
<arg name="headers" type="table" default="{}">KeyValue table for headers.</arg>⤶
</args>
</function>
<example>
<description>Shows the typical usage to get the HTML of a webpage.</description>
<code>
local TheReturnedHTML = "" -- Blankness
http.Fetch( "http://www.google.com",
function( body, len, headers, code )
local theReturnedHTML = "" -- Blankness
http.Fetch( "https://www.google.com",
-- onSuccess function⤶
function( body, length, headers, code )⤶
-- The first argument is the HTML we asked for.
TheReturnedHTML = body
theReturnedHTML = body
end,
function( error )⤶
⤶
-- onFailure function⤶
function( message )⤶
-- We failed. =(
end, {
-- header exemple⤶
["accept-encoding"] = "gzip, deflate",⤶
["accept-language"] = "fr"
}
print( message )
end,⤶
⤶
-- header example⤶
{
["accept-encoding"] = "gzip, deflate",
["accept-language"] = "fr" ⤶
}⤶
)
</code>
<output>If it successfully fetched the page, the variable 'TheReturnedHTML' should contain the returned HTML in plain text.</output>
⤶
</example> <output>If it successfully fetched the page, the variable `theReturnedHTML` should contain the returned HTML in plain text.</output>
</example>