X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> CURL работа с yandex.ru, youtube.com и пр.
toorr2p
toorr2p
Topic Starter сообщение 13.10.2011, 22:15; Ответить: toorr2p
Сообщение #1


Всем привет!
Коллеги подскажите, может кто знает, поиски в гугле и яндексе ничего толкового недали, с одними сайтами (к примеру vimeo.com) этот код работает, а вот с yandex.ru, youtube.com, rutube.ru, vesti.ru - ничего не выводится, или же выводится сообщение :

Moved Permanently
The document has moved here.

где here - это ссылка ведущая на тот хост к которому обращаюсь через cURL и поидее должен получить html код для парсинга.
Подозреваю эта защита от парсинга, или код неправильны, как это обойти? По cURL чтото совсем мало инфы...
Благодарю!

Код:


[php]<?php

ini_set('max_execution_time', 600);
$st_time = microtime(true);

function curl_get($host, $referer = null){

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $host);
curl_setopt($ch, CURLOPT_GET, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, $referer);
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.9.168 Version/11.51');

$html = curl_exec($ch);
echo curl_error($ch);
curl_close($ch);
return $html;
}
//получаем html-код исходной страницы
//$html = curl_get("yandex.ru", 'http://google.com');
//$html = curl_get("masterwebs.ru", 'http://google.com');

//только этот работает:
$html = curl_get("vimeo.com", 'http://google.com');


echo $html;

?>[/php]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
toorr2p
toorr2p
Topic Starter сообщение 13.10.2011, 23:46; Ответить: toorr2p
Сообщение #2


Вроде выяснилось! Оказывается некоторые хосты (сайты, страницы) к которым обращаемся, создают редирект, поэтому и выводится то сообщение с ссылкой о которой я упоминал выше.

Лечится с помощю этой опции curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

[php]<?php

ini_set('max_execution_time', 600);
$st_time = microtime(true);

function curl_get($host, $referer = null){

$ch = curl_init();

//показывает или скрывает заголовок удаленного сайта.
curl_setopt($ch, CURLOPT_HEADER, 0);
//подмена откуда пришли
curl_setopt($ch, CURLOPT_REFERER, $referer);
//подмена содержимого „User-agent”
//curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)");
curl_setopt($ch, CURLOPT_USERAGENT, "Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.9.168 Version/11.51");

curl_setopt($ch, CURLOPT_URL, $host);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
//curl_setopt($ch, CURLOPT_GET, 1);

// этот параметр не позволяет выводить результат парсинга на экран а поместить его в переменную
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//очень часто удаленные страницы создают редирект, это может пригодится… WRNING!!!
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

$html = curl_exec($ch);
echo curl_error($ch);
curl_close($ch);
return $html;
}
//получаем html-код исходной страницы
$html = curl_get("youtube.com", 'http://google.com');




echo iconv("utf-8", "cp1251", $html);

?>[/php]

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) TopSmm.ru Накрутка Вконтакте/Instagram/YouTube и др. Гарантия на докрутку и самые низкие цены!
75 KalininDima 39376 23.4.2024, 13:07
автор: KalininDima
Открытая тема (нет новых ответов) Базы Youtube кейвордов с данными по конкуренции и Volume
6 Krok 1591 23.4.2024, 5:43
автор: Krok
Открытая тема (нет новых ответов) Senderin.ru Продвижение VK, Instagram, Telegram, Youtube, Tiktok, Twitch Низкие цены + Автопостинг VK/TG
Автоматический сервис продвижения в социальных сетях + Автопостинг
5 ceg 2470 19.4.2024, 11:17
автор: ceg
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыДешевые просмотры YouTube с гарантией, услуги в Instagram, ВК, FB, ОK, Twitter - SmmPanele.Ru
Очень качественные услуги, сотни отзывов на других форумах. Делаю все
147 SergWeider 100013 18.4.2024, 12:42
автор: SergWeider
Открытая тема (нет новых ответов) Не получается оплатить YouTube Premium (для Турции и Аргентины по VPN YouTube Premium недоступна)
3 rownong27 558 20.3.2024, 21:39
автор: MisterBit


 



RSS Текстовая версия Сейчас: 25.4.2024, 15:09
Дизайн