Garry's Mod Wiki


  http.Post( string url, table parameters, function onSuccess = nil, function onFailure = nil, table headers = {} )


Sends an asynchronous POST request to a HTTP server.

HTTP requests returning a status code >= 400 are still considered a success and will call the onSuccess callback.

The onFailure callback is usually only called on DNS or TCP errors (e.g. the website is unavailable or the domain does not exist).

HTTP-requests to destinations on private networks (such as won't work.
To enable HTTP-requests to destinations on private networks use Command Line Parameters -allowlocalhttp (serverside only).


1 string url
The url to of the website to post.
2 table parameters
The post parameters (x-www-form-urlencoded) to be send to the server. Keys and values must be strings.
3 function onSuccess = nil
Function to be called on success. Arguments are

4 function onFailure = nil
Function to be called on failure. Arguments are

  • string error - The error message.
5 table headers = {}
KeyValue table for headers.


Write a file in PHP, and invoke it from Lua. The output below is written in the file, not in the console.

<?php $p = $_POST["p"]; $a = $_POST["a"]; $f = fopen("write.html", "w"); fwrite($f, "This is a test. $p $a\n"); fclose($f); ?>
http.Post( "http://localhost/post.php", { p = "Gmod", a = "Test" }, -- onSuccess function function( body, length, headers, code ) print( "Done!" ) end, -- onFailure function function( message ) print( message ) end )
This is a test. Gmod Test