使用 guzzle 时出现 500 错误,但使用 curl 时却没有

I got a 500 error when I use guzzle but with curl I dont get one

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

我试过用卷曲来做,但它奏效了。所以现在我想对 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;
}

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

我需要你的帮助, 谢谢

500基本上就是服务器出错了。请附上成功的 cURL 命令(如您在问题标题中所述)。

我还稍微修改了您的代码,以确保您使用的是响应的 body 内容(->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();
}