2017-04-12 35 views
1

このCURLをGuzzleに変換するには?Guzzle PostのこのcURLを変換する

$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を送信します。 jsonの代わりにform_paramsを使用してください。