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).

Currently there is a problem with CURL library on Linux being unable to validate HTTPS connections with certificates issued by Let's Encrypt. The best course of action to solve this problem now is to use binary module that replaces HTTP function. Either this one or this one
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 )
Output: This is a test. Gmod Test

Special Pages



Render Time: 33ms

DB GetPage 4
Generate Html 14
SaveChanges (1) 7
Render Body 0
Render Sidebar 6