簡體   English   中英

PHP中的cURL並不總是遵循重定向

[英]cURL in PHP doesn't always follow redirects

我有以下代碼:

for($i = $start; $i <= $end ; $i++)
    {
        $url = "http://xxx.co.il/yyy?zzz=$i";
        $ch = curl_init();
        curl_setopt ($ch, CURLOPT_URL, $url);
        curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; he-IL; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
        curl_setopt ($ch, CURLOPT_REFERER, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
        $result = curl_exec($ch);
        $info = curl_getinfo($ch);
        curl_close($ch);

        if($info['url'] == "http://www.xxx.co.il/abc")
        {
                echo "<br />%^$i^%<br />";   
        }
        else
        {
                echo "$info['url']";
        }

我嘗試卷曲的URL總是重定向到另一個頁面。 但是,有時$ info ['url']劇照是原始的url。 這是為什么? 當我嘗試手動卡住的$ i時,它會重定向我。

該代碼曾經工作過,並且我沒有更改我所知道的任何內容。 在大多數情況下,它都有效。 情況1(“ if”)或情況2(“ else”)。 任何想法為什么會這樣? 我在網上找不到任何答案。 也許是因為我真的不知道如何將問題放入關鍵字中。

當我在服務器上運行它時,它可以運行,但是我的計算機具有100mbps的互聯網連接,這使其運行速度大大提高。 另外,我寧願讓計算機超負荷運行,也不願使服務器過載。

謝謝!

更新:問題似乎已經停止。 一切運行順利知道。 我仍然希望聽到有關為什么會發生這種情況的理論。

謝謝!

常見的循環重定向陷阱是您的客戶端需要管理cookie:

嘗試添加以下選項:

curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt");

暫無
暫無

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

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