1

我在 PI 和 REST API 上有一个 Openhab 系统,我想在电视屏幕上显示信息。

我试图用卷曲来做到这一点,它奏效了。所以现在我想对 Guzzle 做同样的事情。首先,我只在 PC 的 Project 目录中安装了 composer 和 guzzle,然后我也在 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;
}

我认为创建客户端会破坏脚本

我需要你的帮助,谢谢

4

1 回答 1

1

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();
}
于 2020-02-05T07:40:37.260 回答