2

PHP経由でCURLを使用しています。プロセス中にリクエストがリダイレクトされたかどうかを理解する必要があります。

curl_setopt()を使用してCURLOPT_FOLLOWLOCATIONオプションを trueに設定しました。

ここで、応答のヘッダーを手動で解析せずに、ページが場所example.com/page.phpを変更したかどうかをどのように理解できるかを要求した場合はどうすればよいですか?

ありがとうございました

4

1 に答える 1

1

を使用せずCURLOPT_FOLLOWLOCATION、代わりにHEADリクエストを作成し、応答ステータスコードがリダイレクトであるかどうかを確認します(301、302、303、305、および307はリダイレクトコードです)

ヘッドリクエストはで達成されますCURLOPT_NOBODY

ステータスコードはで確認できますcurl_getinfo($ch, CURLINFO_HTTP_CODE);

アップデート

実際にリダイレクトされたページの応答が必要な場合は、より簡単な解決策を見つけました。

if (curl_getinfo($ch,  CURLINFO_REDIRECT_COUNT) > 0) {
    // redirected
}

したがって、リダイレクトをたどって、後であったかどうかを判断できます。

于 2013-02-25T07:44:40.940 に答える