2017-12-28 11 views
0

がつがつ食う:悪いクエリ文字列の書式このコードで

$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

グズル6を使用していますか? – Federkun

+0

はい! Guzzle v6.0-dev – Goms

+0

あなたのグーズのバージョンを安定版にアップグレードします。あなたのコードは良いです、それは動作します – Federkun

答えて

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(); 
} 
+0

あなたより多く!できます ! 'http_build_query'ネイティブ関数を使って – Goms

0

これは6.0.1 versionで固定バグだっ行う必要があります。グズルの安定版を使用してください。あなたのコードは機能します。

関連する問題