2015-01-02 79 views
1

Roku框可通過端口8060,see here上通過http協議訪問的簡單RESTful服務進行外部控制。我需要執行的命令是通過一個沒有內容的POST發送的。它們提供的命令行卷曲的例子,如:腳本控制Roku框不起作用

$ curl -d '' http://192.168.1.134:8060/keypress/home 

我需要寫這是一個PHP腳本,將執行一系列操作:按鍵/家,啓動/ APPID,按鍵/選擇,按鍵/右,按鍵/右鍵,按鍵/選擇。

請參閱下文,瞭解我爲一個命令提出的內容。兩個問題:

1)我的Roku沒有迴應這個,所以我做錯了什麼?
2)一個接一個發送多個POST請求的最佳方式是什麼?

<?php 
$ch = curl_init('http://192.168.1.134:8060/keypress/home'); 
$data = ''; 

curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

$response = curl_exec($ch); 
curl_close($ch); 
?> 
+0

嘗試設置的網址:curl_setopt($ CH,CURLOPT_URL, 'http://192.168.1.134:8060/keypress/home') – Kevin

+0

試過了,仍然沒有從Roku公司的響應。 – Bryan

+0

當你在瀏覽器中嘗試同樣的事情時,你看到任何迴應嗎? –

回答

0

我發現了一個更好的方式來做到這一點,客戶端與JavaScript。

<script> 
function post1() { 
xhr = new XMLHttpRequest(); 
xhr.onload=function() 
{ 
    alert(xhr.responseText); 
} 
xhr.open("POST", "http://192.168.1.134:8060/keypress/home"); 
xhr.send(); 
} 
</script> 
<body onload="post1()"> 
0

你試圖做到這一點,你的web/PHP服務器應該能夠直接訪問你的Roku,這不是通常的情況。服務器是否位於同一網絡192.168.1。*?

嘗試http://remoku.tv/以查看您的Roku是否可以直接從瀏覽器控制。