У меня есть этот код:Curl в PHP не всегда следуют перенаправляет
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 («если»), либо в случае 2 («else»). Любые идеи, почему это происходит? Я не мог найти ответа в Интернете. Может быть, это потому, что я действительно не знал, как поставить проблему в ключевые слова.
Когда я запускаю это на своем сервере, он работает, но мой компьютер имеет интернет-соединение в 100 Мбит/с, что делает его намного быстрее. Кроме того, я бы предпочел перегрузить мой компьютер, чем сервер.
Спасибо!
ОБНОВЛЕНИЕ: Проблема, похоже, прекратилась. Все гладко известно. Мне все равно хотелось бы услышать теории о том, почему это может произойти.
Спасибо!
Ну печенье на самом деле предотвратить меня от попыток нескольких переменных в переменной GET. Когда я закрываю соединение cURL, он очищает файлы cookie в следующий раз, когда цикл запускается? –
Нет, но вы можете использовать 'unlink (" cookies.txt ")' непосредственно перед 'curl_init()'. –
Также помните, что он работал все время, и я нашел более старую версию файла, которая имеет такую же проблему. Я считаю, что это имеет какое-то отношение к WAMP. –