【发布时间】:2018-02-03 23:08:51
【问题描述】:
我是 Roku 编码的新手,我想知道是否有一个简单的函数(非任务节点)可以用来检查 URL 是否有效,然后只返回 Yay 或 Nay 所以我可以检查第二个网址吗?谢谢
【问题讨论】:
标签: roku brightscript scenegraph
我是 Roku 编码的新手,我想知道是否有一个简单的函数(非任务节点)可以用来检查 URL 是否有效,然后只返回 Yay 或 Nay 所以我可以检查第二个网址吗?谢谢
【问题讨论】:
标签: roku brightscript scenegraph
你可以在这里找到你要找的东西:roSystemLog
您在此链接中也有一个很好的示例代码,您可以关注它。
【讨论】:
您可以尝试在 url 调用上运行 Eval(),并检查 400 级错误。如果出现错误,则继续对您想要的下一个 url 进行另一个 Eval() 调用,依此类推,直到您获得一个可以中断函数的 URL。 Eval() 将测试代码,如果没有错误将继续执行,但如果它抛出运行时错误,它只会停止该代码执行而不会使应用程序崩溃。这是一个相当不错的临时异常处理程序。见这里:https://sdkdocs.roku.com/display/sdkdoc/Runtime+Functions#RuntimeFunctions-Eval(codeasString)asDynamic
【讨论】:
您可以使用roTransfer 向 URL 发出请求,并检查错误。在本例中,我使用的是GetHead(),因为您需要做的就是检查有效性。
' given a 404 URL
url = "http://example.com/404"
' request HEAD for the URL
urlTransfer = CreateObject("roUrlTransfer")
urlTransfer.setUrl(url)
urlEvent = urlTransfer.head()
if urlEvent <> Invalid
responseCode = urlEvent.getResponseCode()
if responseCode >= 200 and responseCode < 300
print "success"
else
print "fail with code " + Stri(responseCode)
end if
else
print "transfer failed"
end if
【讨论】: