2017-10-14 72 views
2

我是Roku编码的新手,我想知道是否有一个简单的函数(非任务节点),可以用来检查并查看URL是否有效,然后只是返回一个耶或Nay,所以我可以检查第二个网址?谢谢Roku SceneGraph - 检查URL为404

回答

0

你可以找到你所寻找的位置:roSystemLog

您还可以在这个环节上,你可以按照一个很好的示例代码。

+0

你好,谢谢你的回复,但看起来超过了我的头。我不明白:(我只是把它叫做:showVideoScreenWithLogging(URL)?返回结果是什么? – matrixebiz

0

您可以尝试在url调用中运行Eval(),并检查400级错误。如果出现错误,则继续对所需的下一个URL进行另一个Eval()调用,等等,直到获得可以跳出该功能的URL。 Eval()将测试代码,如果没有错误会继续,但是如果它引发运行时错误,它将停止执行代码并且不会使应用程序崩溃。这是一个相当不错的特殊异常处理程序。请参阅此处:https://sdkdocs.roku.com/display/sdkdoc/Runtime+Functions#RuntimeFunctions-Eval(codeasString)asDynamic

+0

你好,我试图打印:Print Eval(“http://www.server.net/badfile。 XML“) 但是,所有它印了<组件:roList> = ( <组件:roAssociativeArray> ) – matrixebiz

0

您可以通过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 
+0

你好,我来试试,但我想,我想这已经和我得到一个Debug纠错约roUrlTransfer不能由于它正在运行的文件,所以用作任务节点。我需要将检查完成为一个简单的函数,我会让你知道。 – matrixebiz