Модератор: MegaDance

MuadDib писал(а):МТК только что поменяли адрес сервера авторизации. Возможно только на новых пакетах...
Теперь вместо 192.168.169.66 заходит на 192.168.170.66


особенно халявный, потому что тот, который 1 мбит включить получилось после 10 нажатия по ссылке =)
)
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use Net::Ping;
$server_ip = 'http://192.168.170.66:8080';
$ping_host = '212.0.200.2';
$p = Net::Ping->new("icmp");
for ($i = 1; $i <= 5; $i++ ) {if ($p->ping($ping_host, 2)) {$ping++;}}
if ( $ping < 2)
{
$ua=LWP::UserAgent->new;
$ua->agent("Mozzila");
my $req = POST $server_ip.'/accountLogoff/home', [confirmed => 'true' ], [ submitButton => 'OK+' ];
$res = $ua->request($req)->as_string;
sleep 2;
my $req = POST $server_ip.'/home?confirmed=true&submitButton=OK+&username=ЛОГИН&password=ПАРОЛЬ';
$res = $ua->request($req)->as_string;
my $req = POST $server_ip.'/serviceStart/refresh/home?service=PrDSL9';
$res = $ua->request($req)->as_string;
my $req = POST $server_ip.'/serviceStart/refresh/home?service=PrDSL15';
$res = $ua->request($req)->as_string;
}
$p->close();
Igoras писал(а):Доделал скрипт для ГО... так как там не надо переключать скорости, зато намного важнее постоянная проверка, не вылетела ли авторизация, скрипт проверяет есть ли пинг до какого-то сервера (выбрал DNS-сервер), если нет (дошло меньше 2 пингов из 5) - пытается сделать логаут, логин и включение скоростей 384+мд....

use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use Net::Ping;
$server_ip = 'http://192.168.170.66:8080';
$ping_host = '212.0.200.2';
$login = 'login';
$pass = 'password';
$service1 = 'PrDSL9';
$service2 = 'PrDSL15';
$p = Net::Ping->new("icmp");
for ($i = 1; $i <= 5; $i++ ) {if ($p->ping($ping_host, 2)) {$ping++;}}
if ( $ping < 2)
{
$ua=LWP::UserAgent->new;
$ua->agent("Mozzila");
my $req = POST $server_ip.'/accountLogoff/home', [confirmed => 'true' ], [ submitButton => 'OK+' ];
$res = $ua->request($req)->as_string;
sleep 2;
my $req = POST $server_ip.'/home?confirmed=true&submitButton=OK+&username='.$login.'&password='.$pass;
$res = $ua->request($req)->as_string;
my $req = POST $server_ip.'/serviceStart/refresh/home?service='.$service1;
$res = $ua->request($req)->as_string;
my $req = POST $server_ip.'/serviceStart/refresh/home?service='.$service2;
$res = $ua->request($req)->as_string;
}
$p->close();
Alex писал(а):Прописываешь в шедулере "с:\perl.exe твой_скрипт.pl" и ставишь запускаться каждые мин 10.
Спим спокойно.
Добавлено спустя 1 минуту 21 секунду:
Если все ок - то оно быстро пролетает - ничего ты и не увидишь
Добавлено спустя 54 секунды:
попробуй разорвать соединение - а потом его запустить - если все прописал правильно - инет должен появиться

MuadDib писал(а):Ну и скрипты надо копировать не в сам крон. А создать файлы 64.pl и 512.pl и в них скопировать скрипты. И в кроне уже запускать именно эти файлы по раснисанию.

мало того.... найди еще знакомых с динамиком и посмотри как у них выглядят названия пакетов и впиши 


у меня их столько, что я уже запутался.
у кого рабочий скрипт, выложите его сюда, чтоб и остальные могли его использовать.
Всем спс.<?php
/*=======================================================
* MTC autologiner V 1.0 *
* ----------- *
* Programmed By PRoFy4ce for BuTaMuHkO-KreveDko =) *
========================================================*/
//------------- Settings ----------------
$time_refresh = 1000*60*10; //частота проверки в 10 min
$ping_site_ip = 'mikrotik.com'; //пингуем какой-либо адрес
$mtc_login = 'Логин'; //ваш логин
$mtc_pass = 'Пароль'; //ваш пароль
$mtc_ip = 'http://192.168.173.66:8080'; //сервер авторизации
$mtc_check_login_page = "$mtc_ip/user/refresh/home";
$mtc_enable_service_url = "$mtc_ip/serviceStart/refresh/home?service=PrDSL1&group=2";
//------------- End Settings ------------
$MTC_script_url = 'http://'.$_SERVER['HTTP_HOST'];
$no_ping = 1;
system("ping $ping_site_ip", $no_ping);
if($no_ping)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $mtc_check_login_page);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "username=$mtc_login&password=$mtc_pass");
ob_start();
curl_exec ($ch);
echo $ch;
ob_end_clean();
curl_close ($ch);
unset($ch);
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_URL, $mtc_enable_service_url);
curl_exec ($ch);
curl_close ($ch);
echo "<br /><br /><strong style='color:red;'>Reconnect to MTC</strong>";
}
else
{
echo "<br /><br /><strong style='color:green;'>Ping OK</strong>";
}
?>
<script>
function checkPing()
{
document.location.href = '<?php echo $MTC_script_url; ?>';
}
setTimeout('checkPing()', <?php echo $time_refresh; ?>);
</script>

для перла достаточно перл поставить (а на юниксе он обычно вообще есть) и поставить в шедулер "перл имя-файла" 
Сейчас этот форум просматривают: Google [Bot] и гости: 2