- request class - PHP надстройка над CURL, упрощающая жизнь разработчику
Самый простой пример:
$request = new request('https://github.com');
$request->send();
echo $request->response;
Методы:
- request::__construct($url) - устанавливает URL запроса
- request::set($key, $value) - Устанавливает параметр CURL. Описание параметров
- request::session($name = false) - Устанавливает имя сессии (Путь сохранения cookie, а не имя PHPSESSID). ! Надо настроить путь: заменить DATA в строке $this->dir = DATA.'/'.$this->name;
- request::post($data = array()) - устанавливает передаваемые данные и тип запроса в POST
- request::payload($data) - устанавливает тип запроса POST, данные кодирует в JSON Можно чуть-чуть почитать тут
- request::send() - отправляет запрос. Возвращает содержимое страницы запроса
- request::error() - проверяет наличие ошибок. Если их нет возвращает False, иначе описание ошибки
- request::get_charset() - возвращает кодировку.
Метод пытается определить кодировку:
- В заголовках
- В теле страницы
- С момощью mb_detect_encoding()
- request::dump() - возвращает полное описание запроса
Примеры:
$request = new request('http://google.com');
$request->session('google');
$request->send();
if( $request->error())
{
echo $request->dump();
die();
}
$data = array(
'login' => 'Vasya',
'passwd' => '12345'
);
$request = new request('http://example.com');
$request->post($data);
$request->send();
echo $request->response;
$data = array(
'auth' => array(
'login' => 'Vasya',
'passwd' => '12345'
),
'order' => array(
'id' => 1
)
);
$request = new request('http://example.com');
$request->payload($data);
$request->send();
echo $request->response;