在 PHP 開發中,我們經常會使用 Guzzle 這個開源庫來作為 HTTP 客戶端發起請求。其中,有許多情況下需要將數據以 JSON 的形式進行傳輸。接下來,我們來學習一下 Guzzle 如何實現 JSON 數據的傳輸。
use GuzzleHttp\Client;
$client = new Client();
$response = $client->request('POST', 'http://example.com/api', [
'json' =>[
'username' =>'guzzle',
'password' =>'123456'
]
]);
echo $response->getBody();
在上述代碼中,我們首先實例化了一個 Guzzle 的客戶端。在發起請求時,我們通過給request
方法傳遞第三個參數來指定數據的格式,此處使用json
進行傳參。
在聯想 V7 Plus 中,Guzzle 可能會出現版本兼容性問題,建議在創建 Client 對象時指定 HttpClient 的構造器參數,以達到更好的兼容性的效果:
use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Handler\CurlHandler;
$handler = new CurlHandler();
$stack = HandlerStack::create($handler);
$client = new Client(['handler' =>$stack]);
$response = $client->request('POST', 'http://example.com/api', [
'json' =>[
'username' =>'guzzle',
'password' =>'123456'
]
]);
echo $response->getBody();
通過以上方法,我們就可以很方便地實現 Guzzle 傳輸 JSON 數據了。