Я очищаю веб-сайт и использую Goutte / Guzzle для отправки запроса. В настоящее время у меня есть возможность заставить его работать, вот мой код:
$cookies = $client->getRequest()->getCookies();
$response = $client->getClient()->post(
self::URL_REQUEST_EXPORT_CREATION,
array(
GuzzleHttp\RequestOptions::HEADERS => array('Cookie' => 'X-Mapping-gkldneee=' . str_replace(' ', '+', $cookies['X-Mapping-gkldneee']) . '; admin_digitick=' . str_replace(' ', '+', $cookies['admin_digitick'])),
GuzzleHttp\RequestOptions::FORM_PARAMS => array( 'req' => array(
'itemSelected' => array(200, 201, 203, 207, 208, 220, 221, 222, 223, 240, 241, 242, 243, 244, 247, 258, 280, 281, 282, 283, 284, 285),
'critere' => true
))));
$jsonResponse = json_decode($response->getBody(), true);
Вот данные формы с параметрами, ожидаемыми запросом
Я не знаю, как жрет работу с пустой квадратной скобкой, и я много пытался написать FORM_PARAMS в запросе post.
Есть ли способ решить эту ситуацию? Заранее спасибо.
Я нахожу решение, используя этот код:
$cookies = $client->getRequest()->getCookies();
$chaineCookies = 'X-Mapping-gkldneee=' . str_replace(' ', '+', $cookies['X-Mapping-gkldneee']) . '; admin_digitick=' . str_replace(' ', '+', $cookies['admin_digitick']);
$response = $client->getClient()->post(
self::URL_AJAX_EXPORT_CATALOGUE,
array(
GuzzleHttp\RequestOptions::HEADERS => array(
'Cookie' => $chaineCookies,
'Content-Type' => 'application/x-www-form-urlencoded'
),
GuzzleHttp\RequestOptions::BODY => implode('&', array(
'req[itemSelected][]=200',
'req[itemSelected][]=201',
'req[itemSelected][]=203',
'req[itemSelected][]=207',
'req[itemSelected][]=208',
'req[itemSelected][]=220',
'req[itemSelected][]=221',
'req[itemSelected][]=222',
'req[itemSelected][]=223',
'req[itemSelected][]=240',
'req[itemSelected][]=241',
'req[itemSelected][]=242',
'req[itemSelected][]=243',
'req[itemSelected][]=244',
'req[itemSelected][]=247',
'req[itemSelected][]=248',
'req[itemSelected][]=250',
'req[itemSelected][]=251',
'req[itemSelected][]=253',
'req[itemSelected][]=254',
'req[itemSelected][]=255',
'req[itemSelected][]=256',
'req[itemSelected][]=257',
'req[itemSelected][]=258',
'req[itemSelected][]=280',
'req[itemSelected][]=281',
'req[itemSelected][]=282',
'req[itemSelected][]=283',
'req[itemSelected][]=284',
'req[itemSelected][]=285',
'req[critere]=true'
))
));
Других решений пока нет …