Самодостаточная библиотека Requests призвана восполнить недостаток в человеческих инструментах PHP для отправки HTTP-запросов. Авторы правильно посчитали, что у всех нас полно других интересных вещей, нежели разборки с занятным API cURL, все опции и параметры которого просто невозможно держать в голове. Да и не всегда cURL доступен. Cокеты обеспечивают лишь низкоуровневый доступ и требуют от программиста парсить все ответы HTTP самостоятельно.

На основе таких соображений и родилась Requests.

$headers = array('Accept' => 'application/json');
$options = array('auth' => array('user', 'pass'));
$request = Requests::get('https://api.github.com/gists', $headers, $options);

var_dump($request->status_code);
// int(200)

var_dump($request->headers['content-type']);
// string(31) "application/json; charset=utf-8"

var_dump($request->body);
// string(26891) "[...]"

Requests позволяет отправлять HEAD, GET, POST, PUT, DELETE и PATCH HTTP-запросы. Можно добавлять заголовки, данные форм, файлы и параметры в простых массивах и получать доступ к ответным данным тем же путем. Requests использует cURL и fsockopen в зависимости от того, что из них доступно в системе, при этом абстрагируясь от всех неприятных вещей, которые могут быть с ними связаны и обеспечивая последовательный API.

Наверх