Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1 2 След.
RSS
Пример обёртки для C# API, UniFi Network
 
Всем привет! Сегодня занимался разработкой обёртки на C# для API, в основном, чтобы дать её третьим лицам и показать, как работать с API, потому что кроме bash-скриптов толкового ничего не было. После множества ругани и разных подходов у меня получилось настольное приложение, которое позволяет войти в систему, создавать и просматривать ваучеры, а также выходить из учётной записи. В нём используется JavaScriptSerializer, так что оно работает только на .NET Framework 3.5 и выше. Можете смело скачивать, использовать и встраивать в свои проекты. Удачи! Джейми
 
Привет! Есть мысли, как это можно починить? Большое спасибо и с наилучшими пожеланиями, Рик.
 
Это не работает с версией контроллера 5.5.19, помогите, пожалуйста.
 
Добрый день,  
Кто-нибудь знает, какой правильный URL для входа в Unifi Controller?  
У меня стоит версия v5.10.20, и URL «https://<<serverIP>>:8443/login.jsp?login=login&username=ubnt&password=ubnt» возвращает ошибку 404, страница не найдена.  
Я пробовал:  
«https://<<serverIP>>:8443/login.jsp?username=ubnt&password=ubnt»  
«https://<<serverIP>>:8443/api/login.jsp?login=login&username=ubnt&password=ubnt»  
«https://<<serverIP>>:8443/login.jsp?username=ubnt&password=ubnt»  
Ничего из этого не работает.  
Буду благодарен за помощь.  
С уважением.
 
Привет! Я пользуюсь версией 5.9.29 контроллера, и в Postman это работает так:  
Для входа используйте:  
POST https://unifi:8443/api/login  
с сырым JSON в теле запроса:  
{'username':'ubnt', 'password':'ubnt'}  
После этого вы получаете cookie с токеном аутентификации, который нужно отправлять с каждым запросом. Postman делает это автоматически.  

Полезные методы:  
Получить онлайн-клиентов  
GET https://unifi:8443/api/s/default/stat/sta  
Получить устройства  
GET https://unifi:8443/api/s/default/stat/device
 
Привет, спасибо за советы. Я использую версию 5.8.24 и внес указанные изменения, но возникает ошибка на строке "HttpWebResponse httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();" с сообщением "удалённый сервер вернул ошибку 404 not found". Значит ли это, что URL "login.jsp?login=login&username=" недействителен, может, он изменился? Спасибо, Шон.
 
Привет! Я нашёл какое-то решение. Сначала поменяй целевую версию NET Framework проекта на 4.5 или выше. Потом добавь эту строку в form1:

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

С этим теперь можно ЛОГИНИТЬСЯ. Но я провёл пару тестов и столкнулся с другими ошибками, связанными с задержками при асинхронных запросах и ответах. Быстрое и грубое решение — добавить небольшой «паузы» перед получением любого ответа, вот так:

m_allDone.WaitOne(); // Везде, где видишь это  
System.Threading.Thread.Sleep(2000); // Добавь это.

И теперь снова работает нормально. Тестировал на контроллере 5.7.23. Пытаюсь улучшить асинхронные функции, но C# — не мой основной язык 😀 Надеюсь, поможет.
 
Привет! Похоже, мы зашли в тупик... Никто толком не знает, можно ли и как это решить? Большое спасибо, Рик.
 
Привет, Andyc! Огромное спасибо за ответ на мою просьбу о помощи. Очень признателен. Я вовсе не разработчик и не эксперт в отладке на VS C# (но до сих пор смог запускать и настраивать приведённый код без проблем). Однако теперь, используя оригинальный UBNTApiTest.sln (но с последней версией контроллера), после нажатия LOGIN программа зависает. Отчёт Call Stack: UBNTApiTest.exe!UBNTApiTest.Form1.PostCallback(System.IAsyncResult asynchronousResult) строка 294. Это началось сразу после обновления контроллера, раньше всё работало отлично. Прикладываю скриншот отладки в VS. С уважением, Rick.
 
Как выглядит стек вызовов?
 
Кто-нибудь? Пожалуйста, помогите... Рик.
 
Привет! Извиняюсь, что беспокою, но нужна большая помощь... C# код отлично работал на версии 5.4.16, но после последнего обновления UniFi Controller до 5.4.18 он больше не работает. Ошибка возникает на следующей строке:  
Stream postStream = request.EndGetRequestStream(asynchronousResult);  
Я заметил, что Ubiquiti что-то изменили в последнем обновлении, и теперь что-то перестало поддерживаться.  
Кто-нибудь может помочь с решением на C#?  
Большое спасибо за сотрудничество.  
С уважением,  
Rick
 
Проверено на Controller 5.4.11, работает. Чтобы обойти ошибку 401, нужно указать site: «abcdfg» — случайные символы, которые контроллер показывает в URL. И если добавить в исходный код строку: jsonParams.Add(«quota», 0); в функцию btnVoucher_Click, можно создавать ваучеры типа «многоразового» с параметром 0 и «одноразового» с параметром 1. Спасибо.
 
К сожалению, в версии 4.6.3 вход работает нормально, но при создании ваучера возникает ошибка 400.
 
Код создания ваучера остался без изменений — нужно было подправить только часть входа в систему, чтобы всё «заработало» под версией 4.x. Возможно, метод создания ваучеров в 4.x изменился — если кто-то точно знает, дайте знать, и я поправлю код. Спасибо, Эндрю.
 
Проверял на версии 4.6.0. В интерфейсе контроллера ваучеры отображаются нормально при создании. Но, похоже, лимит на скачивания не работает? (Могу подтвердить, что квота на скачивания работала на контроллере версии 3.2.10). Однако я обновился, чтобы проверить — и ничего не вышло. Есть идеи? К тому же опция Mulit-use в предыдущей версии этого софта больше недоступна. Почему так? Возможность использовать один ваучер на нескольких устройствах была очень удобна! С уважением, H
 
ты делаешь многих людей счастливыми
 
Конечно — исправленный исходный код и скомпилированный исполняемый файл во вложении. Удачи, Эндрю
 
Привет, моя ошибка, но теперь всё работает... Раньше я делал копирование и вставку Hieronymus-voice, а теперь работает с hieronymus-voice. Я также пробовал входить через s/hieronymus-voice, как в ссылке, и вход вроде бы был успешным, но при создании ваучера выдавало ошибку. Извини, но сейчас вроде всё работает отлично. Есть возможность выложить исходный код здесь? Спасибо за твою отличную работу!
 
Это часть в URL, которую вы уже использовали. Я пробовал это на нестандартном сайте с моим контроллером версии 4.6.0, и ваучер добавился. Можете сделать скриншот окна с сообщением и ошибки, которую получаете (пароль администратора прикройте!). Спасибо, Эндрю.
Страницы: 1 2 След.
Читают тему (гостей: 1)