Новичок в PHP - возникли проблемы с cURL - PullRequest
2 голосов
/ 26 февраля 2012

У меня возникли некоторые проблемы с получением 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);

?>

Но сейчас все, что я получаю на своей странице, это "Здравствуйте, это включено? CURL установлен!"без каких-либо признаков температуры (см. здесь - http://wetdreams.org.uk/ChrisProject/curl_test.php) (извините за URL, мой веб-сайт для каякинга)

Я действительно надеюсь, что PHP не убьет меня.1019 *

В любом случае, надеюсь, вы поможете мне.

Редактировать: Мой бедный маленький маршрутизатор потерпел крах, пытаясь обслужить все ваши запросы, задним числом, вероятно, не стоилоIP up. Сброс и попытка снова, ссылки могут не работать впоследствии.

Ответы [ 3 ]

0 голосов
/ 26 февраля 2012

Вы можете использовать функцию 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

?>
0 голосов
/ 26 февраля 2012

Я попробовал ваш код и добавил это в:

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, и ошибка: Ошибка скручивания: пустой ответ от сервера.

Я не могу сказать, что вызвало это, но это должно помочь в дальнейшей отладке. (Я могу посмотреть вывод веб-страницы для temp в моем браузере - поэтому я действительно не могу понять, почему страница не обслуживается Curl)

0 голосов
/ 26 февраля 2012

В конечном итоге эта статья может вам помочь.

Самый простой способ - использовать file_get_contents("url"), но вы, конечно, можете использовать curl, если хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...