2017-04-12 55 views
1

如何將此cURL轉換爲Guzzle?將此cURL轉換爲Guzzle Post

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_ENCODING, "UTF-8"); // new 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_MAXREDIRS, 2); 
curl_setopt($ch, CURLOPT_AUTOREFERER, true); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
$return = curl_exec($ch); 
curl_close($ch); 
return $return; 

我試試這個方法。但是不起作用:

$client = new GuzzleHttp\Client(); 
$response = $client->post($url, ['json' => $data]); 

return $response; 
+0

你得到的錯誤是什麼? –

+0

那麼,API會返回一個錯誤,因爲數據是一個帶有一些參數的數組來執行一個動作,在這種情況下,創建一個計費。但出於某種原因,當我改用Guzzle時,API不會收到這些數據。 –

回答

1

如果你通過數據json選項,喝起將編碼此數組作爲JSON和請求體發送JSON。使用form_params而不是json