- PVSM.RU - https://www.pvsm.ru -

Http Request — библиотека для простой работы с HTTP протоколом

https://github.com/Garik-/http-request [1]

Очень часто в коде можно встретить такие строки:

$result = file_get_contents("http://geocode-maps.yandex.ru/1.x/?geocode=".urlencode("Москва"));

$handle = fopen("http://www.example.com/", "rb");
$result = fgets($handle);

  • Не важно человеку, что директива allow_url_fopen [2] может быть отключена на сервере.
  • Не важно, что на сервере установлена библиотека cURL, которая без проблем скачает 100 МБ файл.
  • Не важно, какой ответ вернет сервер, 200, 301, может 404, может 502?
  • Не важно, то что сеть не идеальная среда и ответ может придти частично или его вовсе не будет продолжительное время. Скрипт попросту подвиснет в ожидании на неопределенное время или вернет не корректный результат.

try {
    $http = HttpRequest::get("http://geocode-maps.yandex.ru/1.x/?format=json",array("geocode"=>$city))->acceptJson();
    $json = $http->ok() ? json_decode($http->body()) : null;
} catch (HttpRequestException $e) {
    exit($e->getMessage());
}

Теперь это действительно не важно.

Библиотека Http Request основана на одноименной библиотеке Kevin Sawicki [3], которая должна быть хорошо известна Android разработчикам, ведь её использует сам GitHub в своем приложении.

P.S: в скором времени, статья пополниться примерами, очень хотелось поделиться разработкой с сообществом.

Автор: Gariks

Источник [4]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/39064

Ссылки в тексте:

[1] https://github.com/Garik-/http-request: https://github.com/Garik-/http-request

[2] allow_url_fopen: http://www.php.net/manual/ru/filesystem.configuration.php#ini.allow-url-fopen

[3] одноименной библиотеке Kevin Sawicki: https://github.com/kevinsawicki/http-request/

[4] Источник: http://habrahabr.ru/post/187164/