2012-05-08 4 views
0

Функция ниже возвращает другой результат, чем на самом деле, мы визуализируем страницу напрямую.cURL возвращает другой результат

В чем проблема?

function file_get_contents_curl($url) { 
    $ch = curl_init(); 
    $useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1)Gecko/20061204 Firefox/2.0.0.1"; 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Set curl to return the data instead of printing it to the browser. 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt ($ch, CURLOPT_USERAGENT, $useragent); 
    curl_setopt ($ch, CURLOPT_TIMEOUT, 10); 
    curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); 
    $data = curl_exec($ch); 
    curl_close($ch); 

return $data; 
} 
+0

Какой браузер вы используете при непосредственном доступе к нему? –

+0

@paul: mozilla firefox – joHN

ответ

1

Я думаю, что ваш доступ к нему с одним браузером, но ваши настройки $useragent к другому. Внешний сайт может возвращать разные данные в зависимости от useragent

+0

есть ли способ получить содержимое внешнего сайта, не зависящего от useragent? – joHN

+0

Конечно, просто не используйте '$ useragent'. –

+0

все еще проблема сохраняется. Я попытался получить результат поиска Google. Он дает другое количество счетчиков и выводит их как «2,00,000 РЕЗУЛЬТАТОВ», который отличается от оригинала «из 5 000 000 результатов». – joHN

Смежные вопросы