1

Roku 盒子可以通过一个简单的 RESTful 服务进行外部控制,该服务通过端口 8060 上的 http 协议访问,请参见此处。我需要执行的命令是通过没有正文的 POST 发送的。他们提供命令行 curl 示例,例如:

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

我需要将其编写为一个 PHP 脚本,它将执行一系列操作:keypress/home、launch/appid、keypress/select、keypress/right、keypress/right、keypress/select。

请参阅下文,了解我想出的一个命令。两个问题:

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);
?>
4

2 回答 2

0

您尝试这样做的方式是,您的 Web/PHP 服务器应该能够直接访问您的 Roku,这通常不是这种情况。服务器是否在同一网络 192.168.1.* 上?

试试http://remoku.tv/看看你的 Roku 是否可以通过浏览器直接控制。

于 2015-01-03T02:18:42.093 回答
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()">
于 2015-01-03T23:19:51.667 回答