Answer the question
In order to leave comments, you need to log in
How to parse bitrix24?
In Bitrix, it is not possible to get data from a specific page using the API.
I want to try to parse the page, but I need to overcome the authorization. How can curl send an authorization request with Bitrix? Or tell me any other authorization method in Bitrix for parsing
Answer the question
In order to leave comments, you need to log in
Mini code for working with curl, the function worked for 5 years
$url = 'https://bitrix.ru/login.php';
// $mode = array(); // настройки
// Пост ключ значение
$post = array('field' => 'value', 'field2' => 'value2');
$defaultmode = array('charset' => 'utf-8', 'ajax' => 0, 'ssl' => 0, 'cookie' => 1, 'headers' => 0, 'useragent' => 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.10.229 Version/11.61');
foreach ($defaultmode as $k => $v) {
if (!isset($mode[$k]) ) {
$mode[$k] = $v;
}
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, $mode['headers']);
if (!$mode['ref']) {
curl_setopt($ch, CURLOPT_REFERER, $url);
} else {
curl_setopt($ch, CURLOPT_REFERER, $mode['ref']);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $mode['useragent']);
curl_setopt($ch, CURLOPT_ENCODING, $mode['charset']);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 200);
if ($post) {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
}
if ($mode['cookie']) {
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__).'/cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).'/cookie.txt');
}
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
if ($mode['ssl']) {
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
}
if ($mode['ajax']) {
curl_setopt($ch, CURLOPT_HTTPHEADER, array("X-Requested-With: XMLHttpRequest", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8"));
}
$data = curl_exec($ch);
curl_close($ch);
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question