我遇到一些问题,让cURL在PHP中运行。我是PHP的初学者(就像几天前一样)。
基本上,我正试图从我的Arduino(每10秒输出一次温度)中获取输出并将其传递到我的网页。计划是将数据存储在某种数据库中,这样我就可以分析历史/情节图等。
现在我只需要传输数据。
Arduino正在吐温,没有别的,我的路由器正在网上提供 - http://2.216.137.236/
我的代码如下:
<?php
$Url = "http://2.216.137.236/";
echo "Hello, is this on?" . "<br>";
// is cURL installed?
if (!function_exists('curl_init')){
echo "cURL not installed!";
die('Sorry cURL is not installed!');
}
echo "cURL is installed!" . "<br>";
// OK cool - then let's create a new cURL resource handle
$ch = curl_init();
// Now set some options (most are optional)
// Set URL to download
curl_setopt($ch, CURLOPT_URL, $Url);
// Include header in result? (0 = yes, 1 = no)
curl_setopt($ch, CURLOPT_HEADER, 1);
// Should cURL return or print out the data? (true = return, false = print)
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Timeout in seconds
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
// Download the given URL, and return output
$output = curl_exec($ch);
// Close the cURL resource, and free system resources
curl_close($ch);
print_r ($output);
&GT;
但是现在我到达我的页面的所有内容都是 “你好,这是吗? 安装了cURL!“ 在任何地方都没有温度迹象(见这里 - http://wetdreams.org.uk/ChrisProject/curl_test.php) (请原谅我的URL,皮划艇网站)
我真的希望没有一些n00by PHP的东西会让我感到害怕。
无论如何,希望你能帮助我。
编辑:我可怜的小路由器已经崩溃试图满足你的所有要求,事后看来可能不应该把IP放好。将重置并重试,之后链接可能无法正常工作。
答案 0 :(得分:0)
最终article可能对您有所帮助。
简单的方法是使用file_get_contents("url")
,但如果你愿意,你当然可以使用curl。
答案 1 :(得分:0)
如果你只需要获取页面上的内容,你可以使用php的file_get_contents函数:http://php.net/manual/fr/function.file-get-contents.php
我猜你的需求更容易。
示例:
<?php
$temperature = file_get_contents("http://2.216.137.236/");
// Process your data here
?>
答案 2 :(得分:0)
我尝试了您的代码,并将其添加到:
echo curl_getinfo($ch, CURLINFO_HTTP_CODE);
if(curl_exec($ch) === false)
{
echo 'Curl error: ' . curl_error($ch);
}
else
{
echo 'Operation completed without any errors';
}
HTTP代码返回0,错误是:卷曲错误:从服务器清空回复。
我无法说出造成这种情况的原因,但它应该有助于进一步调试。 (我可以在我的浏览器中查看网页的临时输出 - 所以我真的无法理解为什么页面没有被提供给Curl)