查看“LlRequestSecureURL”的源代码
←
LlRequestSecureURL
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function: key llRequestSecureURL( ); |参数= 参数: |返回值= 返回值:请求一个HTTPS:// (SSL) url以供此对象使用。[[http_request]]事件与请求的结果相关联。HTTPS-in 使用端口12043。 返回一个[[handle]] (a [[key]]),用于识别[[http_request]]事件中的请求结果。 |注意事项= HTTPS-in 使用端口12043。 当(重新)启动一个区域时,所有[[HTTP server]] URL都会自动释放并失效。 使用[[CHANGED_REGION_START]]检测,这样就可以请求新的URL。 |示例= '''重要:永远不要忘记再次发布你所请求的URL !url和prims一样是区域资源。如果你把他们都带走了,你就会和sim所有者或地产经理陷入大麻烦''' 请求安全URL。 <pre> string secureUrl; key urlRequestId; key selfCheckRequestId; request_secure_url() { llReleaseURL(secureUrl); secureUrl = ""; urlRequestId = llRequestSecureURL(); } throw_exception(string inputString) { key owner = llGetOwner(); llInstantMessage(owner, inputString); //是的,重新启动是处理异常的坏方法。 //然而,这只是一个演示脚本… llResetScript(); } default { on_rez(integer start_param) { llResetScript(); } changed(integer change) { if (change & (CHANGED_OWNER | CHANGED_INVENTORY)) { llReleaseURL(secureUrl); secureUrl = ""; llResetScript(); } if (change & (CHANGED_REGION | CHANGED_REGION_START | CHANGED_TELEPORT)) request_secure_url(); } state_entry() { request_secure_url(); } http_request(key id, string method, string body) { integer responseStatus = 400; string responseBody = "Unsupported method"; if (method == URL_REQUEST_DENIED) throw_exception("The following error occurred while attempting to get a free URL for this device:\n \n" + body); else if (method == URL_REQUEST_GRANTED) { secureUrl = body; key owner = llGetOwner(); llLoadURL(owner, "Click to visit my URL!", secureUrl); //每5分钟检查丢失的URL llSetTimerEvent(300.0); } else if (method == "GET") { responseStatus = 200; responseBody = "Hello world!"; } // else if (method == "POST") ...; // else if (method == "PUT") ...; // else if (method == "DELETE") { responseStatus = 403; responseBody = "forbidden"; } llHTTPResponse(id, responseStatus, responseBody); } http_response(key id, integer status, list metaData, string body) { if (id == selfCheckRequestId) { // 如果你不经常这样做,现在正是习惯这样做的好时机! selfCheckRequestId = NULL_KEY; if (status != 200) request_secure_url(); } else if (id == NULL_KEY) throw_exception("Too many HTTP requests too fast!"); } timer() { selfCheckRequestId = llHTTPRequest(secureUrl, [HTTP_METHOD, "GET", HTTP_VERBOSE_THROTTLE, FALSE, HTTP_BODY_MAXLENGTH, 16384], ""); } } </pre> |相关函数= [[llGetHTTPHeader]] [[llHTTPResponse]] [[llReleaseURL]] [[llGetFreeURLs]] [[llRequestURL]] |相关事件= }}
该页面使用的模板:
模板:LSL Header
(
查看源代码
)
模板:LSLC
(
查看源代码
)
模板:LSLGC
(
查看源代码
)
模板:Multi-lang
(
查看源代码
)
模板:函数详情
(
查看源代码
)
返回至
LlRequestSecureURL
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
网站首页
知识百科
编辑帮助
最近更改
工具
链入页面
相关更改
特殊页面
页面信息