https://github.com/Garik-/http-request
Очень часто в коде можно встретить такие строки:
$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 может быть отключена на сервере.
- Не важно, что на сервере установлена библиотека 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, которая должна быть хорошо известна Android разработчикам, ведь её использует сам GitHub в своем приложении.
P.S: в скором времени, статья пополниться примерами, очень хотелось поделиться разработкой с сообществом.
ссылка на оригинал статьи http://habrahabr.ru/post/187164/
Добавить комментарий