Garry's Mod Wiki

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>