Difference between revisions of "Http.request"
From ComputerCraft Wiki
m (Document asynchrony) |
MKlegoman357 (Talk | contribs) m (Cleaned up the example, added a warning) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
{{Function | {{Function | ||
|name=http.request | |name=http.request | ||
− | |args={{type|string}} url | + | |returns={{type|nil}} |
+ | |args={{type|string}} url [, {{type|string}} postData [, {{type|table}} headers]] | ||
|api=HTTP | |api=HTTP | ||
|addon=ComputerCraft | |addon=ComputerCraft | ||
− | |desc=Sends a HTTP request to a website, asynchronously. Returns immediately, with an [[Http success (event)|http_success]] or [[Http failure (event)|http_failure]] event being delivered later to indicate the outcome. Issues a POST request if ''postData'' is provided, or a GET request if it is [[nil]] (or omitted). | + | |desc=Sends a HTTP request to a website, asynchronously. Returns immediately, with an [[Http success (event)|http_success]] or [[Http failure (event)|http_failure]] event being delivered later to indicate the outcome. Issues a POST request if ''postData'' is provided, or a GET request if it is [[nil]] (or omitted). <var>headers</var> '''must''' come as a third argument, if you need to make a GET request using custom headers just pass [[nil]] as the second argument. |
|examples= | |examples= | ||
{{Example | {{Example | ||
− | |desc=Prints the | + | |desc=Prints the contents of ''example.com''. |
− | |code=http.request("http:// | + | |code='''http.request("http://example.com")''' |
− | + | ||
− | + | local requesting = true | |
− | + | ||
− | + | while requesting do | |
− | + | local event, url, sourceText = [[os.pullEvent]]() | |
− | + | ||
− | + | if event == "http_success" then | |
− | + | local respondedText = sourceText.readAll() | |
− | + | ||
− | + | sourceText.close() | |
− | + | print(respondedText) | |
− | + | ||
+ | requesting = false | ||
+ | elseif event == "http_failure" then | ||
+ | print("Server didn't respond.") | ||
+ | |||
+ | requesting = false | ||
+ | end | ||
+ | end | ||
}} | }} | ||
}} | }} | ||
[[Category:Lua_Core_Functions]] | [[Category:Lua_Core_Functions]] |
Latest revision as of 08:51, 6 June 2014
Function http.request | |
Sends a HTTP request to a website, asynchronously. Returns immediately, with an http_success or http_failure event being delivered later to indicate the outcome. Issues a POST request if postData is provided, or a GET request if it is nil (or omitted). headers must come as a third argument, if you need to make a GET request using custom headers just pass nil as the second argument. | |
Syntax | http.request(string url [, string postData [, table headers]]) |
Returns | nil |
Part of | ComputerCraft |
API | HTTP |
Examples
Example | |
Prints the contents of example.com. | |
Code |
http.request("http://example.com") local requesting = true while requesting do local event, url, sourceText = os.pullEvent() if event == "http_success" then local respondedText = sourceText.readAll() sourceText.close() print(respondedText) requesting = false elseif event == "http_failure" then print("Server didn't respond.") requesting = false end end |