簡體   English   中英

請求是否已重定向?

[英]Does the request has been redirected?

我正在通過PHP使用CURL,我需要了解在此過程中請求是否已重定向。

我已經使用curl_setopt()CURLOPT_FOLLOWLOCATION選項設置為true。

現在,如果我請求example.com/page.php如何在不手動解析響應標頭的情況下了解頁面是否更改了Location :

謝謝

不要使用CURLOPT_FOLLOWLOCATION ,而是發出HEAD請求,並檢查響應狀態代碼是否為重定向(301、302、303、305和307是​​重定向代碼)

使用CURLOPT_NOBODY可以達到頭請求

可以使用curl_getinfo($ch, CURLINFO_HTTP_CODE);檢查狀態代碼curl_getinfo($ch, CURLINFO_HTTP_CODE);

更新

如果您需要實際重定向頁面的響應,我找到了一個更簡單的解決方案:

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

因此,您可以遵循重定向並確定之后是否存在任何重定向。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM