<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-CN">
	<id>http://i.bnu.edu.cn/wiki/index.php?action=history&amp;feed=atom&amp;title=LlReleaseURL</id>
	<title>LlReleaseURL - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="http://i.bnu.edu.cn/wiki/index.php?action=history&amp;feed=atom&amp;title=LlReleaseURL"/>
	<link rel="alternate" type="text/html" href="http://i.bnu.edu.cn/wiki/index.php?title=LlReleaseURL&amp;action=history"/>
	<updated>2026-06-01T06:20:52Z</updated>
	<subtitle>本wiki的该页面的版本历史</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>http://i.bnu.edu.cn/wiki/index.php?title=LlReleaseURL&amp;diff=465&amp;oldid=prev</id>
		<title>Mkx：创建页面，内容为“{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}}   {{函数详情 |函数名 = Function: llReleaseURL( string url ); |参数= 参数：string url -…”</title>
		<link rel="alternate" type="text/html" href="http://i.bnu.edu.cn/wiki/index.php?title=LlReleaseURL&amp;diff=465&amp;oldid=prev"/>
		<updated>2020-07-09T03:36:56Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}}   {{函数详情 |函数名 = Function: llReleaseURL( string url ); |参数= 参数：string url -…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{函数详情&lt;br /&gt;
|函数名 = Function: llReleaseURL( string url );&lt;br /&gt;
|参数= 参数：string url - URL释放&lt;br /&gt;
|返回值= 返回值：释放指定的URL，它将不再可用。&lt;br /&gt;
&lt;br /&gt;
|注意事项=url在某些情况下会自动释放并失效。在下列情况下，不需要调用llReleaseURL。但是之后你得申请一个新的&lt;br /&gt;
  当该区域重新启动或脱机时&lt;br /&gt;
  当包含url的脚本被重置或重新编译时&lt;br /&gt;
  当包含脚本的对象被删除或进入目录时&lt;br /&gt;
&lt;br /&gt;
|示例=&lt;br /&gt;
重要:永远不要忘记再次发布你所请求的URL !url和prims一样是区域资源。如果你把他们都带走了，你就会和sim所有者或地产经理陷入大麻烦。&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
string url;&lt;br /&gt;
key urlRequestId;&lt;br /&gt;
key selfCheckRequestId;&lt;br /&gt;
 &lt;br /&gt;
request_url()&lt;br /&gt;
{&lt;br /&gt;
    llReleaseURL(url);&lt;br /&gt;
    url = &amp;quot;&amp;quot;;&lt;br /&gt;
    llSetTimerEvent(0.0);&lt;br /&gt;
    urlRequestId = llRequestURL();&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
throw_exception(string inputString)&lt;br /&gt;
{&lt;br /&gt;
    llInstantMessage(llGetOwner(), inputString);&lt;br /&gt;
 &lt;br /&gt;
    // 是的，重新启动是处理异常的坏方法.&lt;br /&gt;
    // 然而，这只是一个演示脚本…&lt;br /&gt;
 &lt;br /&gt;
    llResetScript();&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    on_rez(integer start_param)&lt;br /&gt;
    {&lt;br /&gt;
        llResetScript();&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    changed(integer change)&lt;br /&gt;
    {&lt;br /&gt;
        if (change &amp;amp; CHANGED_OWNER | CHANGED_REGION | CHANGED_REGION_START)&lt;br /&gt;
            llResetScript();&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        request_url();&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    http_request(key id, string method, string body)&lt;br /&gt;
    {&lt;br /&gt;
        integer responseStatus = 400;&lt;br /&gt;
        string responseBody = &amp;quot;Unsupported method&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
        if (method == URL_REQUEST_DENIED)&lt;br /&gt;
            throw_exception(&amp;quot;The following error occurred while attempting to get a free URL for this device:\n \n&amp;quot; + body);&lt;br /&gt;
        else if (method == URL_REQUEST_GRANTED)&lt;br /&gt;
        {&lt;br /&gt;
            url = body;&lt;br /&gt;
            llLoadURL(llGetOwner(), &amp;quot;Click to visit my URL!&amp;quot;, url);&lt;br /&gt;
 &lt;br /&gt;
            // 每5分钟检查一次丢失的URL&lt;br /&gt;
            llSetTimerEvent(300.0);&lt;br /&gt;
        }&lt;br /&gt;
        else if (method == &amp;quot;GET&amp;quot;)&lt;br /&gt;
        {&lt;br /&gt;
            responseStatus = 200;&lt;br /&gt;
            responseBody = &amp;quot;Hello world!&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        // else if (method == &amp;quot;POST&amp;quot;) ...;&lt;br /&gt;
        // else if (method == &amp;quot;PUT&amp;quot;) ...;&lt;br /&gt;
        // else if (method == &amp;quot;DELETE&amp;quot;) { responseStatus = 403; responseBody = &amp;quot;forbidden&amp;quot;; }&lt;br /&gt;
 &lt;br /&gt;
        llHTTPResponse(id, responseStatus, responseBody);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    http_response(key id, integer status, list metaData, string body)&lt;br /&gt;
    {&lt;br /&gt;
        if (id == selfCheckRequestId)&lt;br /&gt;
        {&lt;br /&gt;
            // 如果你不经常这样做，现在是习惯这样做的好时机!&lt;br /&gt;
            selfCheckRequestId = NULL_KEY;&lt;br /&gt;
 &lt;br /&gt;
            if (status != 200)&lt;br /&gt;
                request_url();&lt;br /&gt;
        }&lt;br /&gt;
        else if (id == NULL_KEY)&lt;br /&gt;
            throw_exception(&amp;quot;Too many HTTP requests too fast!&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    timer()&lt;br /&gt;
    {&lt;br /&gt;
        selfCheckRequestId = llHTTPRequest(url,&lt;br /&gt;
                                [HTTP_METHOD, &amp;quot;GET&amp;quot;,&lt;br /&gt;
                                    HTTP_VERBOSE_THROTTLE, FALSE,&lt;br /&gt;
                                    HTTP_BODY_MAXLENGTH, 16384],&lt;br /&gt;
                                &amp;quot;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|相关函数=&lt;br /&gt;
[[llRequestURL]]&lt;br /&gt;
&lt;br /&gt;
[[llRequestSecureURL]]&lt;br /&gt;
&lt;br /&gt;
[[ llGetFreeURLs]]&lt;br /&gt;
&lt;br /&gt;
[[llHTTPResponse]] &lt;br /&gt;
&lt;br /&gt;
[[llGetHTTPHeader]]&lt;br /&gt;
|相关事件=&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Mkx</name></author>
		
	</entry>
</feed>