2017-04-12 198 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