Difference between revisions of "LlRequestURL"

From Second Life Wiki
Jump to navigation Jump to search
m (added tip)
m (why are the xml tages sometimes all upper-case and sometimes not? that's weird)
Line 14: Line 14:
{{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.}}
{{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>
string url;
string url;
key urlRequestId;
key urlRequestId;
Line 118: Line 118:
     }
     }
}
}
</LSL>
</lsl>
It's important to keep in mind that if you request another URL, that the old one will not be released, it will remain active. The following script drives home this point.
It's important to keep in mind that if you request another URL, that the old one will not be released, it will remain active. The following script drives home this point.



Revision as of 06:30, 6 October 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();