О web-разработке
и даже немного больше...

Как получить HTTP заголовки сервера?

kak-poluchit-http-zagolovki-serveraНемного вступления, перед тем как говорить об основной теме. Как известно согласно протоколу HTTP передача данных происходит посредством отправки специальных служебных заголовков. Привычная схема клиент-серверного взаимодействия, это когда клиент – отправляет запрос, сервер возвращает ответ. Давайте рассмотрим пример, как можно просмотреть возвращаемые HTTP заголовки сервера, при запросе. Для этих целей удобно воспользоваться cURL.

В PHP (начиная от версии 4.0.2) есть поддержка библиотеки функций libcurl, которая позволяет организовать взаимодействие с различными серверами, по разным протоколам, с синтаксисом URL. На данный момент, библиотека поддерживает такие протоколы как: http, https, ftp, gopher, telnet, dict, file, и ldap. Кроме того, умеет работать с сертификатами HTTPS, отправлять POST и PUT запросы на HTTP сервера, выполнять передачу файлов по протоколу HTTP и FTP (здесь нужен так же будет модуль FTP), работать с прокси-серверами, cookies и аутентификации пользователей.
Рассмотрим простой пример отправки запроса, и получения HTTP-заголовков с сервера, посредством использования cURL.

<?php
if($curl = curl_init()) {
	curl_setopt($curl,CURLOPT_URL,'https://href.kz');
	curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
	curl_setopt($curl,CURLOPT_NOBODY,true);
	curl_setopt($curl,CURLOPT_HEADER,true);

	$out = curl_exec($curl);
	echo $out;
	curl_close($curl);
}
?>

Первым делом необходимо инициализировать сеанс cURL, выполняет это функция curl_init, в качестве результата она возвращает дескриптор, с которым будут работать функции curl_setopt(), curl_exec, curl_close().

Параметры сеанса задаются с помощью функции curl_setopt:
CURLOPT_URL = «https://href.kz» — URL сайта, куда отправляем запрос
CURLOPT_RETURNTRANSFER = true — Вернуть ответ, не выводя в браузер
CURLOPT_NOBODY = true — Не отправлять содержимое самого документа
CURLOPT_HEADER = true — Отправить HTTP-заголовки в ответе

После того как основные параметры заданы, мы выполняем запрос посредством функции curl_exec(), а результат записываем и выводим через переменную $out. После этого необходимо закрыть дескриптор соединения, делается это с помощью функции curl_close().

О том, где можно использовать возможности cURL можно долго рассказывать, т.к. задач по реализации взаимодействия двух серверных приложений просто большое количество. Вот, к примеру, можно получить все ссылки на странице сайта, ну и т.д. Просто знайте, такая возможность есть, и Вы можете воспользоваться ею тогда, когда в этом возникнет необходимость.

Опубликован: 03.07.2015 г.

См. также:

Редакторы кода для PHP
Как просмотреть время загрузки страницы в PHP?
Генерация QR-кода в PHP
Загрузка файлов на сервер посредством Ajax
Импорт записей из Excel в WordPress
Парсинг XML в PHP
Установка IonCube на XAMPP
Создание PDF файлов в PHP

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта