GuzzleHttp是一個流行的PHP HTTP客戶端庫,它可以幫助開發者更加便捷的完成HTTP請求和響應操作,而GuzzleHttp Raw JSON就是GuzzleHttp庫中使用的一種特殊的響應處理方式。
GuzzleHttp庫使用Raw JSON方式,是為了方便我們處理接口返回的JSON格式數據。使用Raw JSON方式,我們可以將接口返回的原始JSON字符串進行處理,然后將處理后的數據發送給下一步操作。這一過程是非常簡單的,只需要在GuzzleHttp客戶端訪問API時,設置相應的響應處理方式即可。
use GuzzleHttp\Client; use GuzzleHttp\Exception\GuzzleException; $client = new Client(); $response = $client->request('GET', 'https://jsonplaceholder.typicode.com/todos/1', [ 'headers' =>[ 'Accept' =>'application/json' ], 'http_errors' =>false, 'sink' =>'php://temp', 'decode_content' =>false, 'stream' =>true, 'config' =>[ 'curl' =>[ CURLOPT_SSL_VERIFYHOST =>false, CURLOPT_SSL_VERIFYPEER =>false, ], ], 'allow_redirects' =>false, 'version' =>2.0, 'expect' =>false, 'timeout' =>30, 'verify' =>false, 'verify_peer' =>false, 'verify_host' =>false, 'synchronous' =>true, 'json' =>true, 'query' =>[ 'userId' =>'1', ] ]); $body = $response->getBody(); $data = json_decode($body, true);
在上述代碼中,我們使用了PHP中的GuzzleHttp客戶端,設置了請求API的方法為GET請求,請求的API地址為https://jsonplaceholder.typicode.com/todos/1,設置了相應的請求頭信息,允許重定向等操作。
最后,使用$response->getBody()方法獲取請求響應體,然后使用json_decode()方法將JSON字符串轉換為 PHP數組對象,以便于后續的操作。