2017-10-04 17 views
1

Guzzleにリダイレクトにクエリを渡すよう依頼する方法があるかどうかを調べるのは難しいです。私はGuzzle 6 - リダイレクトにクエリを渡す方法

  $res = $client->request("GET", "https://google.com", [ 

        'allow_redirects' => true, 
        'timeout' => 2000, 
        'query' => ['foo'=>'bar'], 
      ]); 

そして、(いくつかの奇妙な理由で)https://somewhere-else.comにリダイレクトGoogleのことを言うことができますを言っていたならば、私もそのURLに

https://somewhere-else.com?foo=bar 

を渡さなければ、私のfoobarのクエリを希望するようにこれについていくつかの助けが大好きです。

おかげ

+0

は簡単ではありませんが、あなたが求めているのは実際の非標準的な動作です。 – Calimero

+0

そうだと思いますか?ほとんどのリダイレクトは、現在の古くなったアドレスからページの新しい場所にユーザーを移動させることです。ほとんどの場合、クエリ文字列も新しい場所に必要となりませんか? – Ben

+0

確信していますが、それはあなたに丁寧なリダイレクトURIを提供するサーバーの仕事です。必要に応じて、クエリパラメータを代わって伝播する必要があります。 – Calimero

答えて

0

(@Calimeroがすでに言ったように)HTTPの仕様はこの動作を想定していないので、それを行うにがつがつ食うには標準的なメカニズムは、ありません。

しかし、the RedirectMiddlewareと、Guzzleがallow_redirectsオプションを処理するために使用するコピーと修正が可能です。

関連する問題