Я получил ошибку 500, когда я использую жрет, но с curl я не получаю один - PullRequest
1 голос
/ 04 февраля 2020

У меня есть система Openhab на PI и REST API, и я хочу отображать информацию на экране телевизора.

Я попытался сделать это с помощью скручивания, и это сработало. Так что теперь я хочу сделать то же самое с Guzzle. Сначала я установил только composer и жрал в каталоге Project на моем P C, затем я также установил их на PI. Ни один из подходов не сработал, так как я получил ошибку 500 на обеих попытках.

function getCurrentTemp() {
    echo "test1";
    $client = new GuzzleHttp\Client([
        'base_uri'=>'http://fernseher/'
    ]);

    echo "test2";
    $return = $client->request('GET','http://openhab.clubdrei.com/rest/items/ThermostateTemp/state', ['auth' => ['User','Password']]);
    echo $return;
}

Я думаю, что клиент-создатель разбил скрипт

Мне нужна ваша помощь, Спасибо

1 Ответ

1 голос
/ 05 февраля 2020

500 в основном означает, что произошла ошибка сервера. Пожалуйста, приложите успешную команду cURL (как вы упомянули в заголовке вопроса).

Я также немного изменил ваш код, чтобы быть уверенным, что вы работаете с содержимым тела ответа (->getBody()->getContents() часть):

function getCurrentTemp()
{
    // You don't need 'base_uri' here, because you use absolute URL below
    $client = new GuzzleHttp\Client();

    $response = $client->request(
        'GET',
        'http://openhab.clubdrei.com/rest/items/ThermostateTemp/state',
        ['auth' => ['User','Password']]
    );

    return $response->getBody()->getContents();
}
...