2017-04-12 4 views
1

Wie konvertiert man dieses cURL zu Guzzle?Konvertieren dieses cURL für 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; 

Ich versuche diesen Weg. Aber funktioniert nicht:

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

return $response; 
+0

Was ist der Fehler, den Sie bekommen? –

+0

Nun, die API gibt einen Fehler zurück, weil die Daten ein Array mit einigen Parametern sind, um eine Aktion durchzuführen, in diesem Fall oben, erstellen Sie eine Gebühr. Aber aus irgendeinem Grund empfängt die API diese Daten nicht, wenn ich zu Guzzle wechsele. –

Antwort

1

Wenn Sie Ihre Daten als json Option übergeben, Guzzle wird dieses Array als JSON kodieren und JSON in Anforderungstext senden. Verwenden Sie form_params anstelle von json.