Difference between revisions of "LlRequestURL"

From Second Life Wiki
Jump to navigation Jump to search
m (why are the xml tages sometimes all upper-case and sometimes not? that's weird)
m (Corrected 2nd example which had been corrupted by a previous editor on 24-Sept-12 so that it would not compile)
Line 144: Line 144:
     }
     }


     http_request(key request_id, string method, string body)
     http_request(key id, string method, string body)
     {
     {
         if (method == URL_REQUEST_DENIED)
         if (method == URL_REQUEST_DENIED)

Revision as of 08:31, 15 December 2012

Summary

Function: key llRequestURL( );
0.0 Forced Delay
10.0 Energy

Requests one HTTP:// url for use by this script. The http_request event is triggered with the result of the request.
Returns a key that is the handle used for identifying the result in the http_request event.

Caveats

  • When a region is (re)started all HTTP server URLs are automatically released and invalidated.
  • The number of available URLs is a limited resource, that is to say, a script can only have so many open URLs. See LSL http_server#Resource Limitations for details.
  • When abandoning a URL, always release it with llReleaseURL, otherwise it will leak.

Examples

KBcaution.png Important: Never ever forget to release a URL again which you have requested! URLs are region resources just like prims. If you take them all you can get into big trouble with the sim owner and/or estate managers.

This script requests a new URL after region restart: <lsl> string url; key urlRequestId; key selfCheckRequestId;

request_url() {

   llReleaseURL(url);
   url = "";
   urlRequestId = llRequestURL();

}

throw_exception(string inputString) {

   key owner = llGetOwner();
   llInstantMessage(owner, inputString);
   // yeah, bad way to handle exceptions by restarting.
   // However this is just a demo script...
   llResetScript();

}

default {

   on_rez(integer start_param)
   {
       llResetScript();
   }
   changed(integer change)
   {
if (change & (CHANGED_OWNER

See Also

Functions

•  llRequestSecureURL
•  llGetFreeURLs
•  llReleaseURL
•  llHTTPResponse
•  llGetHTTPHeader

Articles

•  LSL http server

Deep Notes

History

Signature

function key llRequestURL();