You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.7 KiB
2.7 KiB
LE_CURL
© by Pavel Belyaev
About
Данный класс создан для выполнения http запросов, удобно для работы с RestApi, для скачивания любого контента по сети итд...
Для корректной работы требуются модули iconv и curl
How to use
Инициализация
Данный класс в автозагрузке, файл можно не подключать
$CL = new LE_CURL;
Настройки
$CL->timeout = 90; //default=40
$CL->debug=1; //default 0
$CL->user_agent="MyBrowser"; // default = chrome 24
$CL->encode="cp1251"; // при указании перекодирует из указанной кодировки в utf8, по умолчанию пытается определить из заголовка
$CL->cook_file="/path/to/cook.txt"; //если не указать, то куки не будет принимать
Выполнение запросов
Простой запрос GET
$params = [
'url'=>'https://example.com/index.php',
'fer'=>'https://fromsite' // указание HTTP_REFERRER
];
$html = $CL->query($params);
или вместо массива можно сразу строку передать, если других параметров не будет
$html = $CL->query("https://example.com/index.php");
Получение redirect_url
Данное действие иногда нужно для того, чтобы распарсить URL на который будет переадресован запрос, к примеру ВК всякие токены выдает редиректом на указанную страницу с дописыванием параметров
$params = [
'url'=>'https://example.com/index.php',
'get_redirect'=>1
];
$CL->query($params);
$url = $CL->redirect;
Отправка простого POST (form)
$post = ['field1'=>'val1','field2'=>'val2'];
$params = [
'url'=>'https://example.com/index.php',
'post'=>$post
];
$CL->query($params);
Отправка другими методами, например, PUT
$post = ['field1'=>'val1','field2'=>'val2'];
$params = [
'url'=>'https://example.com/index.php',
'post'=>$post,
'method'=>'PUT'
];
$CL->query($params);
Отправка не в полях POST, а, например, JSON
$data = "{'field1':'val1','field2':'val2'}"; //юзайте json_encode
$params = [
'url'=>'https://example.com/index.php',
'raw'=>$data,
'method'=>'PUT' //указание метода обязательно, например POST
];
$CL->query($params);