使用此代码,
$client = new \GuzzleHttp\Client(['base_uri'=> 'http://example.com']);
try{
$data = ['params1'=>'value1', 'params2'=> 'value2'];
$res = $client->request('GET', '/', ['query'=> $data]);
}catch(\GuzzleHttp\Exception\RequestException $e)
{
echo $e->getRequest()->getUri();
}
这是输出:
http://example.com/?params1=value1params2=value2
您可以在请求uri的字符串查询中看到没有&符号!
如何解决这个问题?
答案 0 :(得分:0)
这应该这样做
$client = new \GuzzleHttp\Client(['base_uri'=> 'http://example.com']);
try{
$data = ['params1'=>'value1', 'params2'=> 'value2'];
$res = $client->request('GET', '/', ['query'=> http_build_query($data)]);
}catch(\GuzzleHttp\Exception\RequestException $e)
{
echo $e->getRequest()->getUri();
}
答案 1 :(得分:0)
这是6.0.1 version中修复的错误。请使用稳定版本的guzzle,您的代码将有效。