Подключение к удаленному серверу

В php существует большое разнообразие доступных методов отправки запросов к удаленному серверу. Мы рассмотрим лишь 2 из них, т.к. их достаточно в 95% случаев.

PHP get запрос с помощью file_get_contents

file_get_contents( string filename [, bool use_include_path [, resource context [, int offset [, int maxlen]]]] )

Данная функция позволяет получить ответ сервера в виде строки. Сегодня мы не будем обращать внимания на необязательные параметры. Таким образом, для простой отправки запроса достаточно написать:

$url = ‘необходимый урл’;

$res = file_get_contents($url);

Вторым методом отправки get запроса, который мы рассмотрим, является использование php библиотеки curl.

Get запрос с помощью curl

В данном случае код будет более громоздок, но в будущем, использование curl даст нам большие возможности.

Работа с curl состоит из 4х основных действий:

  • Инициализация — $ch = curl_init($url);
  • Установка параметров curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); (данный параметр говорит о необходимости вернуть страницу). Сам синтаксис ясен: идентификатор, имя опции, значение.
  • Выполнение запроса $res = curl_exec( $ch );
  • Закрытие curl_close( $ch );

Таким образом в обоих случаях мы отправим GET запрос и переменная $res будет содержать строку с содержимым ответа.

Пример отправки get запроса. Проверка доступности виде ВКонтакте.

Скрипт примера является упрощенной версией скрипта, который выполняет проверку доступности всех видео из контакта, размещенных на страницах онлайн-кинотеатра. Для простоты здесь приведено 2 ссылки, которые загружают контактовский плеер в iframe. Одно из видео недоступно, другое доступно. Обе страницы возвращают в заголовках ответа 200 код (страница успешно загружена), однако по плохой ссылке мы видим вместо плеера надпись «это видео изъято из публичного просмотра». Для проверки отсутствия видео производится максимально простая операция — мы смотрим длину строки ответа и короткие строки отправляем в ошибку. Страницы с нормально функционирующим плеером имеют большую длину, чем ошибочные из-за обилия кода.

Для примера первая страница загружается функцией file_get_contents, а вторая с помощью curl. Все пояснения выполнены непосредственно в комментариях к коду

<?php

//Ссылка на доступное видео

$goodurl = 'http://vkontakte.ru/video_ext.php?oid=-15879660&id=160859706&hash=e26107e4fff0cb5a&hd=1';

//Ссылка на недоступное видео

$badurl = 'http://vkontakte.ru/video_ext.php?oid=105722022&id=160682262&hash=0dc86a2ede9aa046&hd=1';

//Получение содержимого в строку

$out[] = file_get_contents($goodurl);

/*------------Получение содержимого в строку, используя CURL-------------------*/

/* создание нового ресурса cURL*/

$ch = curl_init();

// установка URL

curl_setopt($ch, CURLOPT_URL, $badurl);

/* результат в строку (при false результат выводится в браузер)*/

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// выполняем запрос

$out[] = curl_exec($ch);

// закрытие ресурса curl

curl_close($ch);

/* ------------Вывод результатов-----------------------------*/

$i = 0;

foreach($out as $item){

  $i++;

  if (strlen($item)<2000){

    ?>

    <p>Видео <?php echo $i; ?> не доступно</p>

    <?php

  }

  else{

    ?>

    <p>Видео <?php echo $i; ?> доступно</p>

    <?php

  }

}

Первый урок получился небольшим, дальше будет интереснее, ведь парсеры могут многое: помогать в составлении семантического ядра, наполнять сайты копипастом, производить анализ статистических данных по огромной выборке сайтов и многое другое.

oroom

oroom

меня зовут Дмитрий и я автор этого блога, в котором рассказываю о seo, создании сайтов и своем опыте на этом поприще.

Мы будем рады и вашему мнению

Оставить ответ

SEO эксперты
Logo
Включить регистрацию в настройках - общий
bhojpuri bf sexy video darthporn.com erotic songs hentai insert level hentaiheven.net 5-ji kara honban! you tube sex video indianxtubes.com papu sex video سكس خولات مصر hqtube.org سكس مايه خليفه sexy indian men xxx-tube-list.info khalifa xnxx ramya fucked xkeezmovies.mobi watch my indian gf طيز نيكول سابا black-pornstar.com نيك امهات مصريه japanies sex video porndot.net sex hungry moms 720p hentai hentaitale.net naruho hentai hentai nell youhentai.org mind control hentau dosa in telugu lambotube.mobi www.xnxx.ckm xvideox2 tubexo.mobi deshi sexi video سكس بنات جميلات annarivas.net افلام البورن onam sex eromoms.net bp sexy com mastaram fullindiantube.com kerelasexvideos