Difference between revisions of "LlRequestURL"

From Second Life Wiki
Jump to navigation Jump to search
m
m (added tip)
Line 12: Line 12:
|constants
|constants
|examples=
|examples=
{{LSL Tip|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:
This script requests a new URL after region restart:
<LSL>
<LSL>
Line 73: Line 74:
         else if (method == URL_REQUEST_GRANTED)
         else if (method == URL_REQUEST_GRANTED)
         {
         {
            url = body;
             key owner = llGetOwner();
             key owner = llGetOwner();
             llLoadURL(owner, "Click to visit my URL!", body);
             llLoadURL(owner, "Click to visit my URL!", url);


             // check every 5 mins for dropped URL
             // check every 5 mins for dropped URL

Revision as of 07:27, 6 October 2012

Summary

Function: key llRequestURL( );

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.
All Issues ~ Search JIRA for related Bugs

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

Search JIRA for related Issues

Signature

function key llRequestURL();