Класс-обертка для curl — s_http

  • 18.12.2017
  • Комментарии к записи Класс-обертка для curl — s_http отключены
  • Dimabiz

Здравствуйте, меня зовут Михаил Самборский. Поскольку мой блог пока малопосещаемый, я решил поделиться полезной информацией с заинтересованой аудиторией на ином ресурсе, автор которого согласился разместить этот материал.

Год назад я написал класс s_http, который облегчил мою программистскую жизнь. Именно об этом классе я хотел бы поговорить. Создан он как раз на основе curl, а пользоваться им гораздо проще, чем работать с чистым curl api. Главное – для большинства задач он подходит.

Особенности:

  • Класс старается получить от сервера сжатые средствами gzip, deflate данные, если конечно сервер такое может. Нужно для экономии трафика.
  • Если класс в момент скачивания страницы получает 302 редирект, он переходит по нему.
  • По умолчанию User-Agent файрфоксовский, но вы можете сами его установить.
  • Все кукисы, полученные от вебсервера запоминаются. Очень удобно, если нужно парсить из-под логина.
  • Если пользователем изначально не задан Referer, то класс ставит в это поле предыдущую скачанную страницу, как это делают браузеры.

Подключение класса, инициализация.

Для последующих примеров, я этот код не пишу. Но важно понимать, что он обязателен.

Пример I. Скачиваем главную страницу Яндекса.

Самый распространенный код. Просто скачиваем страницу.

Пример II. Отправляем POST запрос.

Отличный пример для сабмиттеров, или если вам нужно взять данные из-под логина (т.е. сначала войти в свой кабинет).

Пример III. Скачиваем страницу по https.

Если нужно скачать данные по https, то можно воспользоваться этим кодом. Правда, если вам нужно для авторизации отправлять свой сертификат, то код этот не годится, потому что внутри него отключается проверка сертификата. Но для большинства случаев метод https_get вас устроит.

Пример IV. CodeIgniter

Любителям фреймворка CodeIgniter тоже подойдет этот класс. Поместите его в папку /system/application/libraries/, а затем в коде, например в модели:

Необходимые файлы можно скачать ниже. Иные статьи на эту тему вы можете найти в том числе в блоге поисковые системы.

Исходный файл класса >>

P.S. класс на протяжении года развивался, потому если будут обновления, буду писать отдельные новости.

Категория: Web-разработка
Понравилась статья? Поделись в социальных сетях:

Комментарии закрыты.