Skip to main content


Perform a HTTP GET request using the specified URL.

http.get(url, { options })


url is the URL to be downloaded.

options is a table of options used for this HTTP request.

Return Values

There are three return values.

resource, result_str, response_code = http.get(url, { options })
  • resource is the content that was retrieved or nil if it could not be retrieved.
  • result_str is set to "OK" if successful or contains a description of the failure.
  • result_code is the HTTP result code of the get.


local resource, result_str, response_code = http.get("")
function progress(total, current)
local ratio = current / total;
ratio = math.min(math.max(ratio, 0), 1);
local percent = math.floor(ratio * 100);
print("Download progress (" .. percent .. "%/100%)")

local resource, result_str, response_code = http.get("", {
progress = progress,
headers = { "From: Premake", "Referer: Premake" },
userpwd = "username:password"

Backward compatible function signature

The previous signature of this function was

http.get(url, progress, headers)

and continues to be supported. This is equivalent to

http.get(url, { progress = progress, headers = headers })


Premake 5.0 or later.

See Also