Laravel 狂饮得到回应

MD *_*sum 1 php api laravel guzzle6

我正在使用 laravel guzzle 包从这个https://eos.greymass.com/v1/history/get_transaction url获取响应

    $client = new Client();
    try {
        $response = $client->request('GET', 'https://eos.greymass.com/v1/history/get_transaction?id=18a20dbc34082451143c03ac54a2f24d06494d51e68f8fb1211ca0b63a53f37d');
    }catch (ClientException $e) {
        $response = $e->getResponse();
        $responseBodyAsString = $response->getBody()->getContents();
        return redirect()->back()->with('error', $responseBodyAsString);
    }
    if ($response->getStatusCode() != 200){
        return redirect()->back()->with('error', 'Status code must be 200');
    }

    $body = $response->getBody();
    return $body;
Run Code Online (Sandbox Code Playgroud)

我正确获取 $body 数据,但是当我尝试获取 $body->block_num 然后向我显示此未定义属性时:GuzzleHttp\Psr7\Stream::$block_num 错误

voi*_*oid 5

你必须解码$response才能得到它,因为它会将 json 转换为一个对象,例如:

$response = json_decode($client->request('GET', 'https://eos.greymass.com/v1/history/get_transaction?id=18a20dbc34082451143c03ac54a2f24d06494d51e68f8fb1211ca0b63a53f37d')->getBody(), true);
Run Code Online (Sandbox Code Playgroud)

尝试这个!它会帮助你