Я использую Guzzle 6, и я не могу передать массив с form_params в теле клиента
$postFields = [
form_params => [
'data[test]' => "TEST",
'data[whatever]' => "Whatever..."]
];
$client = new GuzzleClient([
'cookies' => $jar, // The cookie
'allow_redirects' => true, // Max 5 Redirects
'base_uri' => $this->navigateUrl, // Base Uri
'headers' => $this->headers
]);
$response = $client->post('api',[$postFields]);
Наконец, когда я отправляю запрос, мои данные исчезают … Но если я вручную добавляю данные в ответ, все работает нормально.
$response = $client->post(
'api',
[form_params => [
'data[test]'=>"TEST",
'data[wht]' => 'Whatever'
],
]
// It's working this way...
Я надеюсь, что я достаточно ясен, если вам нужна дополнительная информация, не стесняйтесь спрашивать. Заранее спасибо.
Я вижу пару вопросов. Во-первых, тот факт, что ваш $postFields
массив не выглядит должным образом отформатированным, и во-вторых, вы оборачиваете свой массив $ postFields в другой массив.
$options = [
'debug' => true,
'form_params' => [
'test' => 15,
'id' => 43252435243654352,
'name' => 'this is a random name',
],
'on_stats' => $someCallableItem,
];
$response = $client->post('api', $options);
Других решений пока нет …