Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中使用Goutte/Guzzle发送带有空方括号(';[]';)的post请求_Php_Guzzle_Goutte_Square Bracket - Fatal编程技术网

在PHP中使用Goutte/Guzzle发送带有空方括号(';[]';)的post请求

在PHP中使用Goutte/Guzzle发送带有空方括号(';[]';)的post请求,php,guzzle,goutte,square-bracket,Php,Guzzle,Goutte,Square Bracket,我正在浏览一个网站,我正在使用gout/Guzzle来提出一个帖子请求。我目前已启用该功能,以下是我的代码: $cookies = $client->getRequest()->getCookies(); $response = $client->getClient()->post( self::URL_REQUEST_EXPORT_CREATION, array( GuzzleHtt

我正在浏览一个网站,我正在使用gout/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);

我不知道guzzle如何处理空方括号,我已经尝试了很多方法在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'
                    ))
            ));