очистка данных php curl - PullRequest
       4

очистка данных php curl

1 голос
/ 24 октября 2011

У меня есть код CURL для извлечения данных с сайта, с которым он работает в течение последних нескольких месяцев, но внезапно перестает работать для меня, он говорит:

HTTP/1.0 302 Moved Temporarily

мой код:

$ch = curl_init();
curl_setopt($ch, CURLOPT_REFERER, $baseUrl);
curl_setopt($ch, CURLOPT_PROXY, $proxy[0]);
curl_setopt($ch, CURLOPT_PROXYPORT, $proxy[1]);
//curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIE         , $phpSId);
curl_setopt($ch, CURLOPT_COOKIEJAR      , $cookie);
curl_setopt($ch, CURLOPT_COOKIEFILE     , $cookie);
curl_setopt($ch, CURLOPT_USERAGENT      , "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:7.0.1) Gecko/20100101 Firefox/7.0.1");
curl_setopt($ch, CURLOPT_TIMEOUT        , 40);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST , 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , 0);
curl_setopt($ch, CURLOPT_URL            , $url);
curl_setopt($ch, CURLOPT_HEADER         , 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION , 1);
curl_setopt($ch, CURLOPT_POST           , 1);
curl_setopt($ch, CURLOPT_POSTFIELDS     , $data);
$result = curl_exec($ch);
curl_close ($ch);
unset($ch); 
die($result);

Пожалуйста, помогите, заранее спасибо

1 Ответ

1 голос
/ 25 октября 2011

Указанные опции уже заставляют curl следовать перенаправлениям. Однако, в случае длинной цепочки перенаправления, вы можете увеличить CURLOPT_MAXREDIRS.

Вы можете использовать дампер пакетов, такой как wireshark , чтобы проверить, какие запросы отправляются с помощью curl. Это может быть просто ошибка на очищенном веб-сайте, которая приводит к его бесконечному перенаправлению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...