Как получить скорость интернета?
Модератор: immortal
-
- Сообщения: 104
- Зарегистрирован: Вт май 12, 2015 9:59 pm
- Благодарил (а): 16 раз
- Поблагодарили: 13 раз
Re: Как получить скорость интернета?
Уважаемые!!! Покажите весь скрипт под Unix, а то у меня не получается забрать сразу все данные разом! Мозгов не хватает, не могу допедрить, как это вы делаете, а Коннект у вас с нулевыми значениями!
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: Как получить скорость интернета?
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 104
- Зарегистрирован: Вт май 12, 2015 9:59 pm
- Благодарил (а): 16 раз
- Поблагодарили: 13 раз
Re: Как получить скорость интернета?
Сама утилита стоит и скриптом вызывается! В ответ с ключом --simple выдает краткий отчёт с тремя строками:
Ping..
Download..
Upload..
Если забирать данные $temp = exec('speedtest-cli --simple | grep "Download" | awk \'{print $2}\'');, то записывается только параметр Download. Не запускать же утилиту три раза для получения остальных параметров. Вот я и спрашиваю, как оформить скрипт, чтобы все данные падали в нужные мне свойства.
$temp = exec('speedtest-cli --simple >/tmp/speedtest.txt'); и вот так попробовал, но разобрать текстовый файл не получается (мозгов не хватает). Помогите разобраться, чтоб, в будущем, вопросов не появлялось больше!
Ping..
Download..
Upload..
Если забирать данные $temp = exec('speedtest-cli --simple | grep "Download" | awk \'{print $2}\'');, то записывается только параметр Download. Не запускать же утилиту три раза для получения остальных параметров. Вот я и спрашиваю, как оформить скрипт, чтобы все данные падали в нужные мне свойства.
$temp = exec('speedtest-cli --simple >/tmp/speedtest.txt'); и вот так попробовал, но разобрать текстовый файл не получается (мозгов не хватает). Помогите разобраться, чтоб, в будущем, вопросов не появлялось больше!
- savenko_egor
- Сообщения: 705
- Зарегистрирован: Вс авг 03, 2014 8:17 pm
- Откуда: Украина, Запорожье
- Благодарил (а): 108 раз
- Поблагодарили: 147 раз
- Контактная информация:
Re: Как получить скорость интернета?
Вот Вам полный скрипт: https://pastebin.com/Tq1g5GD5
Запускаю его раз в час.
Запускаю его раз в час.
- За это сообщение автора savenko_egor поблагодарил:
- EvgenyG (Пн дек 24, 2018 12:38 pm)
- Рейтинг: 1.16%
-
- Сообщения: 104
- Зарегистрирован: Вт май 12, 2015 9:59 pm
- Благодарил (а): 16 раз
- Поблагодарили: 13 раз
Re: Как получить скорость интернета?
На сколько я понимаю, то данный скрипт два раза запускает утилиту speedtest, один раз для download, второй для upload??? Или я ошибаюсь???
- savenko_egor
- Сообщения: 705
- Зарегистрирован: Вс авг 03, 2014 8:17 pm
- Откуда: Украина, Запорожье
- Благодарил (а): 108 раз
- Поблагодарили: 147 раз
- Контактная информация:
Re: Как получить скорость интернета?
Всё верно. Но он 2 раза прогоняет как Download, так и Upload. Можно поправить так, чтобы он один раз только прогонял, но мне пока лень, а оно и так работает)
-
- Сообщения: 104
- Зарегистрирован: Вт май 12, 2015 9:59 pm
- Благодарил (а): 16 раз
- Поблагодарили: 13 раз
Re: Как получить скорость интернета?
Вот как раз то я и бьюсь, чтоб с первого раза забирала система данные. А то получается, что у меня все три раза прогоняет... Может кто нибудь знает как сотворить чудо???
- savenko_egor
- Сообщения: 705
- Зарегистрирован: Вс авг 03, 2014 8:17 pm
- Откуда: Украина, Запорожье
- Благодарил (а): 108 раз
- Поблагодарили: 147 раз
- Контактная информация:
Re: Как получить скорость интернета?
Таки заставили меня написать
На скорую руку так:
Корректнее конечно загнать в цикл обработку полученного массива, но сделал на скорую руку код, который работает и даёт нужный результат.
На скорую руку так:
Код: Выделить всё
exec('speedtest-cli --share --simple', $speed_string);
preg_match('/Download: (.*) Mbit\/s/', $speed_string[1], $downloadspeed);
preg_match('/Upload: (.*) Mbit\/s/', $speed_string[2], $uploadspeed);
preg_match('/Share results: (.*)/', $speed_string[3], $imagespeed);
- За это сообщение автора savenko_egor поблагодарили (всего 2):
- skysilver (Пн июн 04, 2018 11:55 am) • EvgenyG (Пн дек 24, 2018 12:38 pm)
- Рейтинг: 2.33%
-
- Сообщения: 104
- Зарегистрирован: Вт май 12, 2015 9:59 pm
- Благодарил (а): 16 раз
- Поблагодарили: 13 раз
Re: Как получить скорость интернета?
Премного Уважаемый Егор!!! Бьюсь с этим кодом и ни чего не получается!!! Может вы посмотрите в чем дело???savenko_egor писал(а): ↑Пн июн 04, 2018 11:29 amТаки заставили меня написать
На скорую руку так:Корректнее конечно загнать в цикл обработку полученного массива, но сделал на скорую руку код, который работает и даёт нужный результат.Код: Выделить всё
exec('speedtest-cli --share --simple', $speed_string); preg_match('/Download: (.*) Mbit\/s/', $speed_string[1], $downloadspeed); preg_match('/Upload: (.*) Mbit\/s/', $speed_string[2], $uploadspeed); preg_match('/Share results: (.*)/', $speed_string[3], $imagespeed);
Код: Выделить всё
exec('speedtest-cli --share --simple', $speed_string);
preg_match('/Download: (.*) Mbit\/s/', $speed_string[1], $downloadspeed);
preg_match('/Upload: (.*) Mbit\/s/', $speed_string[2], $uploadspeed);
//preg_match('/Share results: (.*)/', $speed_string[3], $imagespeed);
setGlobal('ThisComputer.SpeedDownload',$downloadspeed);
setGlobal('ThisComputer.SpeedUpload',$uploadspeed);
В результат вместо данных записывается ARRAY
Заранее благодарен за вашу помощь!!!
- savenko_egor
- Сообщения: 705
- Зарегистрирован: Вс авг 03, 2014 8:17 pm
- Откуда: Украина, Запорожье
- Благодарил (а): 108 раз
- Поблагодарили: 147 раз
- Контактная информация:
Re: Как получить скорость интернета?
Код: Выделить всё
exec('speedtest-cli --share --simple', $speed_string);
preg_match('/Download: (.*) Mbit\/s/', $speed_string[1], $downloadspeed);
preg_match('/Upload: (.*) Mbit\/s/', $speed_string[2], $uploadspeed);
//preg_match('/Share results: (.*)/', $speed_string[3], $imagespeed);
setGlobal('ThisComputer.SpeedDownload',$downloadspeed[1]);
setGlobal('ThisComputer.SpeedUpload',$uploadspeed[1]);
- За это сообщение автора savenko_egor поблагодарил:
- EvgenyG (Чт дек 20, 2018 6:16 pm)
- Рейтинг: 1.16%