GSM сигнализация старлайн->MD РАБОТАЕТ,но требует доработки
Модератор: immortal
-
- Сообщения: 2800
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 695 раз
- Контактная информация:
GSM сигнализация старлайн->MD РАБОТАЕТ,но требует доработки
Собственно на сайте настроек нашел бота телеграмм, у которого можно запрашивать текущие координаты. Бот успешно получает. Осталось только научиться аккуратно их забирать из MD. Наш бот телеграмм умеет общаться с другими ботами?
Последний раз редактировалось directman66 Ср дек 13, 2017 12:29 pm, всего редактировалось 1 раз.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 178
- Зарегистрирован: Вс янв 05, 2014 5:37 am
- Благодарил (а): 10 раз
- Поблагодарили: 17 раз
Re: gsm сигнализации старлайн-> md
Если я не ошибаюсь то ботам запрещено обмениваться сообщениями друг с другом. У меня тоже старлайн gsm но подружить так и не удалось. Есть python скрипт
Но почему-то он не хочет заводится, есть подозрения что Starline что то поменял на своей стороне. И API у них есть, но политика предоставления очень жесткая.
*** Сообщение запрещено. Сообщение похоже на спам. ***
скриптПоказать
import requests
import logging
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
logging.debug('This is a log message.')
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0',
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'X-Requested-With': 'XMLHttpRequest'}
with requests.Session() as session:
login = session.post('https://starline-online.ru/user/login', {
'LoginForm[login]': 'username',
'LoginForm[pass]': 'password',
'remember': 1,},headers=header)
print (r.status_code,r.reason)
r = session.post('https://starline-online.ru/device/ваш_i ... uteCommand',{
'value':'1',
'action':'ign',
'password':''},headers=header)
logout = session.post('https://starline-online.ru/user/logout', {
'':''},)
print (login.status_code,login.reason)
print (login.cookies)
print (logout.status_code,logout.reason)
import logging
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
logging.debug('This is a log message.')
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0',
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'X-Requested-With': 'XMLHttpRequest'}
with requests.Session() as session:
login = session.post('https://starline-online.ru/user/login', {
'LoginForm[login]': 'username',
'LoginForm[pass]': 'password',
'remember': 1,},headers=header)
print (r.status_code,r.reason)
r = session.post('https://starline-online.ru/device/ваш_i ... uteCommand',{
'value':'1',
'action':'ign',
'password':''},headers=header)
logout = session.post('https://starline-online.ru/user/logout', {
'':''},)
print (login.status_code,login.reason)
print (login.cookies)
print (logout.status_code,logout.reason)
*** Сообщение запрещено. Сообщение похоже на спам. ***
-
- Сообщения: 2800
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 695 раз
- Контактная информация:
Re: gsm сигнализации старлайн-> md
по вашим ключевым словам нашел интеграцию с сири
https://habrahabr.ru/post/315782/
если у человека работает на питоне, думаю не трудно переделать и на php
ЗЫЖ: Сценарии почти готовы!!
Для интеграции требуется установленная сигнализация или охранный маяк, подключеные к сервису starline телематика (starline-online.ru). Список сигнализаций можно узнать на сайте производителя. У меня сигнализация A93+CAN2LIN+GSM+установка вышли примерно в 17 т.р.
Работает: получение координат, статуса работы двигателя, охраны, напряжения, в общем всех параметров, что есть на сайте:
Скрипт сам создает объекты класса starline-online (его требуется создать предварительно), которые он получает с сайта.
Также запуск/остановка двигателя:
Номер своей железяки для запуска двигателя можете взять в свойствах созданного первым скриптом объекта.
Есть одна не решенная проблема - во всех вторых запросах взят header из отладчика браузера.
Почему-то ссылка на куки файл первой авторизации у меня не срабатывет. Может быть кто-то более разбирающийся сможет корректно настроить сохранение и использование куки-файла. В моем примере записаны куки моей сессии, поэтому я их потер, что-бы у меня продолжало поработать )
Иногда выскакивает капча, но она пропадает, если залогиниться с компьютера или через какое-то время.
https://habrahabr.ru/post/315782/
если у человека работает на питоне, думаю не трудно переделать и на php
ЗЫЖ: Сценарии почти готовы!!
Для интеграции требуется установленная сигнализация или охранный маяк, подключеные к сервису starline телематика (starline-online.ru). Список сигнализаций можно узнать на сайте производителя. У меня сигнализация A93+CAN2LIN+GSM+установка вышли примерно в 17 т.р.
Работает: получение координат, статуса работы двигателя, охраны, напряжения, в общем всех параметров, что есть на сайте:
Скрипт сам создает объекты класса starline-online (его требуется создать предварительно), которые он получает с сайта.
СпойлерПоказать
Код: Выделить всё
$cookie_file = ROOT . 'cached/starline_cookie.txt'; //в этом файле будет храниться сессия
//$cookie_file = 'dialog_cookie.txt'; //в этом файле будет храниться сессия
// STEP 1 -- LOGIN
$url = 'https://starline-online.ru/user/login'; // ссылка, по которой нам надо зайти
// задаём поля, которые будут отправлены при логине
$fields = array(
'LoginForm[login]' => gg('balance.StarlineLogin'), // номер телефона
'LoginForm[rememberMe]' => 'on',
'LoginForm[pass]' => gg('balance.StarlinePass')
);
print_r($fields);
echo "<br>";
$fields_string = '';
foreach ($fields as $key => $value) {
$fields_string .= urlencode($key) . '=' . urlencode($value) . '&';
}
rtrim($fields_string, '&');
echo $fields_string;
echo "<br>";
echo $data;
echo "<br>";
echo "<br>";
$ch = curl_init();
//curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
//curl_setopt($ch, CURLOPT_POST, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0',
'Accept: application/json, text/javascript, */*; q=0.01',
'Content-Type: application/x-www-form-urlencoded; charset=UTF-8',
'X-Requested-With: XMLHttpRequest'
));
$result = curl_exec($ch);
curl_close($ch);
echo $result;
echo "<br>";
echo "-------------------------";
echo "<br>";
echo $cookie_file;
print_r($_COOKIE);
echo "<br>";
//STEP 2 -- GET DATA
echo "<br>";
echo "-------------------------";
echo "<br>";
$url = 'https://starline-online.ru/device?tz=300&_=1512134458324';
// это собственно страница, на которую нам надо заходить уже залогинившись
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
// curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
//curl_setopt($ch, CURLOPT_POST, count($fields));
//curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
//'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0',
//'Accept: application/json, text/javascript, */*; q=0.01',
//'Content-Type: application/x-www-form-urlencoded; charset=UTF-8',
//'X-Requested-With: XMLHttpRequest'
':authority:starline-online.ru',
':method:GET',
':path:/device?tz=300&_=1513105401911',
':scheme:https',
'accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'accept-encoding:gzip, deflate, br',
'accept-language:ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
'cookie:____замените на токен из отладчика браузера____lang=ru',
));
$result = curl_exec($ch);
curl_close($ch);
//SaveFile(ROOT . 'cached/dialog_result.txt', $result); // сохранять в файл не обязательно, это я делаю просто для того чтобы посмотреть что внутри
@unlink($cookie_file);
echo $result;
echo "<br>";
echo "-------------------------";
echo "<br>";
$data=json_decode($result,true);
//$objn=$data[0]['id'];
//print_r($data);
//$objn=$data[0]['answer']['devices']['alias'];
$name=$data['answer']['devices'][0]['alias'];
$names=$data['answer']['devices'][0];
$imei=$data['answer']['devices'][0]['imei'];
$battery=$data['answer']['devices'][0]['battery'];
$gps_lvl=$data['answer']['devices'][0]['gps_lvl'];
$mon_type=$data['answer']['devices'][0]['mon_type'];
$phone=$data['answer']['devices'][0]['phone'];
$ts_activity=$data['answer']['devices'][0]['ts_activity'];
$typename=$data['answer']['devices'][0]['typename'];
$ctemp=$data['answer']['devices'][0]['ctemp'];
$etemp=$data['answer']['devices'][0]['etemp'];
$imei=$data['answer']['devices'][0]['imei'];
$imei=$data['answer']['devices'][0]['imei'];
$imei=$data['answer']['devices'][0]['imei'];
$imei=$data['answer']['devices'][0]['imei'];
//echo $ctemp;
//echo $etemp;
//echo $imei;
//echo $name;
//echo $objn.'----------------';
//addClassObject('livegpstracks',$objn);
//$src=$data[0];
echo "<br>";
echo "-------------------------";
echo "<br>";
$names=$data['answer']['devices'];
foreach ($names as $key=> $value ) {
// echo $key.':'.$value. "<br>";
foreach ($value as $key2=> $value2 ) {
if ($key2=='alias' ) {
echo $key2.':'.$value2. "<br>";
$devicename=$value2;
if (gg($devicename."."."alias")<>$devicename) {
echo "добавляем новое устройство ".$devicename;
addClassObject('starline-online',$devicename);}
}
if (is_array($value2))
{echo "это массив";
echo "<br>";
foreach ($value2 as $key3=> $value3 ) {
echo $key3.':'.$value3. "<br>";
sg($devicename.'.'.$key3,$value3);
///
if (is_array($value3))
{echo "это массив";
echo "<br>";
foreach ($value3 as $key4=> $value4 ) {
echo $key4.':'.$value4. "<br>";
sg($devicename.'.'.$key4,$value4);
}}
///
}
} else {
echo $devicename.'.'.$key2."::::".$value2;
echo "<br>";
sg($devicename.'.'.$key2,$value2);
}
}
$url = BASE_URL . '/gps.php?latitude=' . gg($devicename.'.y')
. '&longitude=' . gg($devicename.'.x')
. '&altitude=' . gg($devicename.'.altitude')
. '&accuracy=' . gg($devicename.'.gpsaccuracy')
. '&provider=' . gg($devicename.'.gsm_lvl')
. '&speed=' .gg($devicename.'.speed')
. '&battlevel=' . gg($devicename.'.battery')
. '&charging=' . gg($devicename.'.charging')
. '&deviceid=' .gg($devicename.'.imei') ;
getURL($url, 0);
}
//////////////
СпойлерПоказать
Код: Выделить всё
$cookie_file = ROOT . 'cached/starline_cookie.txt'; //в этом файле будет храниться сессия
//$cookie_file = 'dialog_cookie.txt'; //в этом файле будет храниться сессия
// STEP 1 -- LOGIN
$url = 'https://starline-online.ru/user/login'; // ссылка, по которой нам надо зайти
// задаём поля, которые будут отправлены при логине
$fields = array(
'LoginForm[login]' => gg('balance.StarlineLogin'), // номер телефона
'LoginForm[rememberMe]' => 'on',
'LoginForm[pass]' => gg('balance.StarlinePass')
);
print_r($fields);
echo "<br>";
$fields_string = '';
foreach ($fields as $key => $value) {
$fields_string .= urlencode($key) . '=' . urlencode($value) . '&';
}
rtrim($fields_string, '&');
echo $fields_string;
echo "<br>";
echo $data;
echo "<br>";
echo "<br>";
$ch = curl_init();
//curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
//curl_setopt($ch, CURLOPT_POST, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0',
'Accept: application/json, text/javascript, */*; q=0.01',
'Content-Type: application/x-www-form-urlencoded; charset=UTF-8',
'X-Requested-With: XMLHttpRequest'
));
$result = curl_exec($ch);
curl_close($ch);
echo $result;
echo "<br>";
echo "-------------------------";
echo "<br>";
echo $cookie_file;
print_r($_COOKIE);
echo "<br>";
//STEP 2 -- GET DATA
echo "<br>";
echo "-------------------------";
echo "<br>";
$url = 'https://starline-online.ru/device/22198231/executeCommand';
$fields = array(
'value' => '1', // номер телефона
'action' => 'ign',
'password' => ''
);
print_r($fields);
echo "<br>";
$fields_string = '';
foreach ($fields as $key => $value) {
$fields_string .= urlencode($key) . '=' . urlencode($value) . '&';
}
echo $fields_string;
echo "<br>---- <br>";
$fields_string=substr($fields_string,0,-1);
echo $fields_string;
echo "<br>---- <br>";
// это собственно страница, на которую нам надо заходить уже залогинившись
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
// curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
//curl_setopt($ch, CURLOPT_POST, count($fields));
//curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
':authority:starline-online.ru',
':method:POST',
':path:/device/номер своей железяки/executeCommand',
':scheme:https',
'accept:application/json, text/javascript, */*; q=0.01',
'accept-encoding:gzip, deflate, br',
'accept-language:ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
'content-length:28',
'content-type:application/x-www-form-urlencoded; charset=UTF-8',
'cookie:t=1db1dfcde1eff54cd7cfbafcb69b1271; ____замените на токен из отладчика браузера____lang=ru',
'origin:https://starline-online.ru',
'referer:https://starline-online.ru/site/map',
'user-agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36',
'x-requested-with:XMLHttpRequest'
));
$result = curl_exec($ch);
curl_close($ch);
//SaveFile(ROOT . 'cached/dialog_result.txt', $result); // сохранять в файл не обязательно, это я делаю просто для того чтобы посмотреть что внутри
@unlink($cookie_file);
echo $result;
//////////////
//////////////
//////////////
//////////////
//////////////
Есть одна не решенная проблема - во всех вторых запросах взят header из отладчика браузера.
Почему-то ссылка на куки файл первой авторизации у меня не срабатывет. Может быть кто-то более разбирающийся сможет корректно настроить сохранение и использование куки-файла. В моем примере записаны куки моей сессии, поэтому я их потер, что-бы у меня продолжало поработать )
Иногда выскакивает капча, но она пропадает, если залогиниться с компьютера или через какое-то время.
Последний раз редактировалось directman66 Ср дек 13, 2017 1:37 pm, всего редактировалось 4 раза.
- За это сообщение автора directman66 поблагодарил:
- C_3AXAPOB (Пт янв 19, 2018 1:43 am)
- Рейтинг: 1.16%
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 2800
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 695 раз
- Контактная информация:
Re: gsm сигнализации старлайн-> md
Полагаю, требуется что-то типа такого:
*** Сообщение запрещено. Сообщение похоже на спам. ***
СпойлерПоказать
Код: Выделить всё
$cookie=ROOT.'cached/starline.txt';
$url='https://starline-online.ru/device?tz=300&_=1512134458324';
//echo $url;
//в обратную сторону
//url_request = "http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address=" + RussianStringToURLEncode(city) + " " + RussianStringToURLEncode(street)
$fields = array(
'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0',
'Content-Type: application/x-www-form-urlencoded; charset=UTF-8',
'X-Requested-With: XMLHttpRequest',
'LoginForm[login]: ',
'LoginForm[pass]: ',
'remember: 1'
);
foreach($fields as $key=>$value)
{ $fields_string .= $key.'='.urlencode($value).'&'; }
echo $fields_string;
echo '\n';
rtrim($fields_string, '&');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
$result = curl_exec($ch);
echo $result;
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 2800
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 695 раз
- Контактная информация:
Re: gsm сигнализации старлайн-> md
Кто разбирается, помогите залогиниться на сайте https://starline-online.ru/
Получаю forbidden. Знающие, подскажите.
*** Сообщение запрещено. Сообщение похоже на спам. ***
СпойлерПоказать
Код: Выделить всё
$url = 'https://starline-online.ru/device?tz=300&_=1512134458324'; // ссылка, по которой нам надо зайти
// задаём поля, которые будут отправлены при логине
$fields = array(
'LoginForm[login]' => gg('balance.StarlineLogin'), // номер телефона
'LoginForm[rememberMe]' => 'off',
'LoginForm[pass]' => gg('balance.StarlinePass')
);
$fields_string = '';
foreach ($fields as $key => $value) {
$fields_string .= $key . '=' . urlencode($value) . '&';
}
rtrim($fields_string, '&');
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
':authority:starline-online.ru',
':method:POST',
':path:/user/login',
':scheme:https',
'accept:application/json, text/javascript, */*; q=0.01',
'accept-encoding:gzip, deflate, br',
'accept-language:ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
'content-length:95',
'content-type:application/x-www-form-urlencoded; charset=UTF-8',
'cookie:PHPSESSID=ht2p71s1s04e4cqcm578dgh8l3; lang=ru',
'origin:https://starline-online.ru',
'referer:https://starline-online.ru/',
'user-agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36',
'x-requested-with:XMLHttpRequest'
// 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
// 'Accept-Encoding: gzip, deflate',
// 'Connection: Close'
));
$result = curl_exec($ch);
curl_close($ch);
echo $result;
*** Сообщение запрещено. Сообщение похоже на спам. ***
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 2800
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 695 раз
- Контактная информация:
Re: gsm сигнализации старлайн-> md
Знающие люди, помогите залогиниться на сайте телематики. Я уже теряюсь в догадках как это сделать.
*** Сообщение запрещено. Содержит контактную информацию. Сообщение похоже на спам. ***
СпойлерПоказать
Код: Выделить всё
$cookie_file = ROOT . 'cached/dialog_cookie.txt'; //в этом файле будет храниться сессия
//$cookie_file = 'dialog_cookie.txt'; //в этом файле будет храниться сессия
// STEP 1 -- LOGIN
$url = 'https://starline-online.ru/user/login'; // ссылка, по которой нам надо зайти
// задаём поля, которые будут отправлены при логине
$fields = array(
'LoginForm[login]' => gg('balance.StarlineLogin'), // номер телефона
'LoginForm[rememberMe]' => 'on',
'LoginForm[pass]' => gg('balance.StarlinePass')
);
$fields_string = '';
foreach ($fields as $key => $value) {
$fields_string .= $key . '=' . urlencode($value) . '&';
}
rtrim($fields_string, '&');
$data="LoginForm%5Blogin%5D=xpenn%40e1.ru&LoginForm%5BrememberMe%5D=on&LoginForm%5Bpass%5D=662583ABca";
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_URL, $url);
//curl_setopt($ch, CURLOPT_POST, count($fields));
//..curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_POST, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
':authority:starline-online.ru',
':method:POST',
':path:/user/login',
':scheme:https',
'accept:application/json, text/javascript, */*; q=0.01',
'accept-encoding:gzip, deflate, br',
'accept-language:ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
'content-length:95',
'content-type:application/x-www-form-urlencoded; charset=UTF-8',
'cookie:PHPSESSID=ht2p71s1s04e4cqcm578dgh8l3; lang=ru',
'origin:https://starline-online.ru',
'referer:https://starline-online.ru/',
'user-agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36',
'x-requested-with:XMLHttpRequest'
// 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
// 'Accept-Encoding: gzip, deflate',
// 'Connection: Close'
));
$result = curl_exec($ch);
curl_close($ch);
echo $result;
// STEP 2 -- GET DATA
$url = 'https://starline-online.ru/device?tz=300&_=1512134458324';
// это собственно страница, на которую нам надо заходить уже залогинившись
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
$result = curl_exec($ch);
curl_close($ch);
//SaveFile(ROOT . 'cached/dialog_result.txt', $result); // сохранять в файл не обязательно, это я делаю просто для того чтобы посмотреть что внутри
@unlink($cookie_file);
echo $result;
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 2800
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 695 раз
- Контактная информация:
Re: gsm сигнализации старлайн-> md
Вроде получилось залогиниться на сайте старлайна.Далее пытаюсь запросить страницу с параметрами json, в ответ приходит какая-то ерунда. Похоже неправильные user-агент передается.
*** Сообщение запрещено. Сообщение похоже на спам. ***
СпойлерПоказать
Код: Выделить всё
$cookie_file = ROOT . 'cached/dialog_cookie.txt'; //в этом файле будет храниться сессия
//$cookie_file = 'dialog_cookie.txt'; //в этом файле будет храниться сессия
// STEP 1 -- LOGIN
$url = 'https://starline-online.ru/user/login'; // ссылка, по которой нам надо зайти
// задаём поля, которые будут отправлены при логине
$fields = array(
'LoginForm[login]' => gg('balance.StarlineLogin'), // номер телефона
'LoginForm[rememberMe]' => 'on',
'LoginForm[pass]' => gg('balance.StarlinePass')
);
print_r($fields);
echo "<br>";
$fields_string = '';
foreach ($fields as $key => $value) {
$fields_string .= urlencode($key) . '=' . urlencode($value) . '&';
}
rtrim($fields_string, '&');
echo $fields_string;
echo "<br>";
echo $data;
echo "<br>";
echo "<br>";
$ch = curl_init();
//curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
//curl_setopt($ch, CURLOPT_POST, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
':authority:starline-online.ru',
':method:POST',
':path:/user/login',
':scheme:https',
'accept:application/json, text/javascript, */*; q=0.01',
'accept-encoding:gzip, deflate, br',
'accept-language:ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
'content-length:95',
//'content-type:application/x-www-form-urlencoded; charset=UTF-8',
//'cookie:PHPSESSID=ht2p71s1s04e4cqcm578dgh8l3; lang=ru',
'origin:https://starline-online.ru',
'referer:https://starline-online.ru/',
'user-agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'
));
$result = curl_exec($ch);
curl_close($ch);
echo $result;
echo "<br>";
echo "-------------------------";
echo "<br>";
//STEP 2 -- GET DATA
$url = 'https://starline-online.ru/device?tz=300&_=1512134458324';
// это собственно страница, на которую нам надо заходить уже залогинившись
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
// curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
//curl_setopt($ch, CURLOPT_POST, count($fields));
//curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
':authority:starline-online.ru',
':method:POST',
':path:/user/login',
':scheme:https',
'accept:application/json, text/javascript, */*; q=0.01',
//'accept-encoding:gzip, deflate, br',
'accept-language:ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
'content-length:95',
'content-type:application/x-www-form-urlencoded; charset=UTF-8',
//'cookie:PHPSESSID=ht2p71s1s04e4cqcm578dgh8l3; lang=ru',
'origin:https://starline-online.ru',
'referer:https://starline-online.ru/',
'user-agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'
));
$result = curl_exec($ch);
curl_close($ch);
//SaveFile(ROOT . 'cached/dialog_result.txt', $result); // сохранять в файл не обязательно, это я делаю просто для того чтобы посмотреть что внутри
@unlink($cookie_file);
echo $result;
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 2800
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 695 раз
- Контактная информация:
Re: gsm сигнализации старлайн-> md
завести автомобиль
*** Сообщение запрещено. Сообщение похоже на спам. ***
СпойлерПоказать
Код: Выделить всё
$cookie_file = ROOT . 'cached/dialog_cookie.txt'; //в этом файле будет храниться сессия
//$cookie_file = 'dialog_cookie.txt'; //в этом файле будет храниться сессия
// STEP 1 -- LOGIN
$url = 'https://starline-online.ru/user/login'; // ссылка, по которой нам надо зайти
// задаём поля, которые будут отправлены при логине
$fields = array(
'LoginForm[login]' => gg('balance.StarlineLogin'), // номер телефона
'LoginForm[rememberMe]' => 'on',
'LoginForm[pass]' => gg('balance.StarlinePass')
);
print_r($fields);
echo "<br>";
$fields_string = '';
foreach ($fields as $key => $value) {
$fields_string .= urlencode($key) . '=' . urlencode($value) . '&';
}
rtrim($fields_string, '&');
echo $fields_string;
echo "<br>";
echo $data;
echo "<br>";
echo "<br>";
$ch = curl_init();
//curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
//curl_setopt($ch, CURLOPT_POST, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
':authority:starline-online.ru',
':method:POST',
':path:/user/login',
':scheme:https',
'accept:application/json, text/javascript, */*; q=0.01',
'accept-encoding:gzip, deflate, br',
'accept-language:ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
'content-length:95',
//'content-type:application/x-www-form-urlencoded; charset=UTF-8',
//'cookie:PHPSESSID=ht2p71s1s04e4cqcm578dgh8l3; lang=ru',
'origin:https://starline-online.ru',
'referer:https://starline-online.ru/',
'user-agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'
));
$result = curl_exec($ch);
curl_close($ch);
echo $result;
echo "<br>";
echo "-------------------------";
echo "<br>";
//STEP 2 -- GET DATA
//$url = 'https://starline-online.ru/device?tz=300&_=1512134458324';
$url = 'https://starline-online.ru/device/1512134458324/executeCommand';
$fields = array(
'value' => '1', // номер телефона
'action' => 'ign',
'password' => '');
print_r($fields);
echo "<br>";
$fields_string = '';
foreach ($fields as $key => $value) {
$fields_string .= urlencode($key) . '=' . urlencode($value) . '&';
}
// это собственно страница, на которую нам надо заходить уже залогинившись
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
// curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0',
'Accept: application/json, text/javascript, */*; q=0.01',
'Content-Type: application/x-www-form-urlencoded; charset=UTF-8',
'X-Requested-With: XMLHttpRequest'
));
$result = curl_exec($ch);
curl_close($ch);
//SaveFile(ROOT . 'cached/dialog_result.txt', $result); // сохранять в файл не обязательно, это я делаю просто для того чтобы посмотреть что внутри
@unlink($cookie_file);
echo $result;
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 2800
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 695 раз
- Контактная информация:
Re: GSM сигнализация старлайн->MD РАБОТАЕТ,но требует дорабо
В общем все заработало, инструкция в 3 сообщении. Модер, можешь удалить мои неактивные сообщения, которые требуют одобрения модератора.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 32
- Зарегистрирован: Вс фев 28, 2016 8:11 am
- Благодарил (а): 1 раз
- Поблагодарили: 3 раза
Re: GSM сигнализация старлайн->MD РАБОТАЕТ,но требует дорабо
Ребята помогите.
Не получается заставить скрипт работать.
Суть MD установлен на апельсинки ( на Debian).
Пытаюсь заставить работать данный скрипты из 3 сообщения (получение координат ).
Куки файл подложил: ROOT . 'cached/starline_cookie.txt' (С браузера с хрома размер ~ 2 МБ )
И поправил строку заполнение массива типа curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'cookie:dce05fce804544545646d4fad6e633lang=ru'
Скрипт не работает:
Не могу понять что не так
Не получается заставить скрипт работать.
Суть MD установлен на апельсинки ( на Debian).
Пытаюсь заставить работать данный скрипты из 3 сообщения (получение координат ).
Куки файл подложил: ROOT . 'cached/starline_cookie.txt' (С браузера с хрома размер ~ 2 МБ )
И поправил строку заполнение массива типа curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'cookie:dce05fce804544545646d4fad6e633lang=ru'
Скрипт не работает:
Не могу понять что не так
- Вложения
-
- При запуски скрипта вижу следующая картину.
- line.jpg (101.84 КБ) 7909 просмотров