[英]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.