Guzzle6
きれいなオプションが 1 つあります: allow_redirects
. このオプションを値に設定すると、応答コードがparamのようなまたはパラメーターを持っているfalse
場合、Guzzle はリダイレクトをブロックします。302
Headers
Location
しかし、問題が 1 つあります。リダイレクトがクライアントによって送信された場合 – Guzzle はこれに気づきません。例えば:
http://example.com/
ページ にリダイレクトされたURLがありますhttp://redirected.com/
。help Guzzle でリクエストを送信:
$oClient->request('POST', 'http://redirected.com/', [
'form_params' => $aFormData,
'cookies' => (new CookieJar($aPrepareCookie)),
'debug' => true,
'allow_redirects' => false
]);
次のようになっredirect.com
ているとします。index.php
<?php
header('Location: http://www.example.com/');
?>
この場合、リダイレクトは Guzzle からブロックされます。
それでは、このリダイレクトの例を見てみましょう:
<?php
echo '<script>window.location = "http://www.example.com/";</script>';
?>
これはクライアント側のリダイレクトであり、彼は に影響を与えることができないため、ここで問題がありますHeaders
。したがって、Guzzle
HTTP ステータス コードまたは場所の値を追跡できません。
では、どうすればこの問題を解決し、解決策を見つけることができますか?
手伝ってくれてありがとう!