file_get_html();不使用Teleduino链接

时间:2016-04-27 17:32:27

标签: php html get arduino simple-html-dom

我正在与Arduino进行家庭自动化项目,我正在使用Teleduino来远程控制LED作为测试。
我想获取this link的内容并将它们显示在php页面中。

<!DOCTYPE html>
<html>
<body>

<?php

include 'simple_html_dom.php';

echo file_get_html('http://us01.proxy.teleduino.org/api/1.0/2560.php?k=202A57E66167ADBDC55A931D3144BE37&r=definePinMode&pin=7&mode=1');

?>

</body>

问题是该函数没有返回任何内容。

我的代码有问题吗?
是否有任何其他功能可用于向页面发送请求并获取该页面?

1 个答案:

答案 0 :(得分:1)

我认为你必须使用函数file_get_contents,但是你的服务器正在通过抓取来保护数据,因此curl将是一个更好的解决方案:

<?php 

// echo file_get_contents('http://us01.proxy.teleduino.org/api/1.0/2560php?k=202A57E66167ADBDC55A931D3144BE37&r=definePinMode&pin=7&mode=1');

                      // create curl resource
    $ch = curl_init();

    // set url
    curl_setopt($ch, CURLOPT_URL, "http://us01.proxy.teleduino.org/api/1.0/2560.php?k=202A57E66167ADBDC55A931D3144BE37&r=definePinMode&pin=7&mode=1");

    //return the transfer as a string
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');

    // $output contains the output string
    $output = curl_exec($ch);

    echo $output;

    // close curl resource to free up system resources
    curl_close($ch);

?>