Стартовая страница › Форумы › Понять, как работает ПО › KpHttpNotif
- В этой теме 13 ответов, 3 участника, последнее обновление 2 года, 7 месяцев назад сделано Mikhail.
-
АвторСообщения
-
18.10.2021 в 16:03 #21078manjey73Участник
Не могу понять что необходимо делать и как настраивать ?
Вот есть у меня необходимость послать Post запрос для реализации драйвера, пытаюсь для проверки отправить его, используя KpHttpNotif
Адресной книги нет, то есть нет почты, телефона или email
Как драйвером отправить Post запрос и получить ответ?Причем в тело запроса надо добавить application/json и там указать
{
«email «почтовый ящик»,
«password»: «пароль»
}19.10.2021 в 09:11 #21079manjey73УчастникПоля заполнены.
Основные — POST в URI указан адрес куда стучимся
Параметры включены начало и конец { }
Заголовки Accept: application/json
Содержимое application/json Кодирование JSON (пробовал и без)
Тело заголовка
{
«email «тут логин в виде почты»,
«password»: «тут пароль»
}При перезапуске линии
Ошибка: КП 148 «Http_Test»: URI не может быть пустым.Почему ?
19.10.2021 в 09:12 #21080manjey73УчастникЯ так понимаю все поля должны подставляться в URI или нет? что сделать, чтобы строка была правильной ?
Если убираю параметры то получаю при попытке отправить команду
Ошибка при отправке уведомления: System.FormatException: Формат имени заголовка недопустим.
в System.Net.Http.Headers.HttpHeaders.CheckHeaderName(String name)
в System.Net.Http.Headers.HttpHeaders.Add(String name, String value)
в Scada.Comm.Devices.KpHttpNotifLogic.SendNotification(Dictionary`2 args)Команда Абонент; {ttt} просто для проверки…
Как подставить в тело URI все введенные параметры как они должны правильно подставляться ? И вообще в каком виде они должны быть подставлены, не понимаю?
Хоть несколько примеров приведите
- Этот ответ был изменен 3 года назад от manjey73.
19.10.2021 в 10:58 #21082manjey73УчастникКП 148 «Http_Test» ожидает команд…
2021-10-19 10:56:25 Команда КП 148 «Http_Test», тип: KpHttpNotif
Ошибка при отправке уведомления: System.FormatException: Формат имени заголовка недопустим.
в System.Net.Http.Headers.HttpHeaders.CheckHeaderName(String name)
в System.Net.Http.Headers.HttpHeaders.Add(String name, String value)
в Scada.Comm.Devices.KpHttpNotifLogic.SendNotification(Dictionary`
2 args)КП 148 «Http_Test» ожидает команд…
2021-10-19 10:56:38 Команда КП 148 «Http_Test», тип: KpHttpNotif
Отправка запроса:
https://xxxxxxxxxxxxxxxx/xxx/loginxxxx
Ответ получен за 424 мс. Статус: 401 (Unauthorized)
Содержимое ответа:
{«error»:»Unauthorised»}КП 148 «Http_Test» ожидает команд…
После рестарта линии вроде как идет ожидание команд, но первая посылка приводит к ошибке, вторая не проходит. Как посмотреть лог что именно отправляется ?
- Этот ответ был изменен 3 года назад от manjey73.
19.10.2021 в 11:36 #21084manjey73УчастникКак собственно в логах посмотреть что конкретно отправляется на сервер из драйвера?
19.10.2021 в 12:52 #21085manjey73УчастникПочему я в логе не вижу типа этого
http://www.abc.com/details?method=post&name=john&phonenumber=445566
Хотя выставляю POST пишу заголовок и тело в настройках ?
19.10.2021 в 15:46 #21086manjey73УчастникВот же…
Убрал «Параметры включены» и получил то, что хотел.
НО Как всегда есть НО — не хватает логирования например в виде как сделано на сайте
https://reqbin.com/post-online
Убил бы меньше времени, а так разберись, что не так ввел или ввел не туда….
Так же в догонку — почему в логе не показывает весь ответ? ограничение на длину строки? Где в коде KpHttpNotif это изменить ?
- Этот ответ был изменен 3 года назад от manjey73.
19.10.2021 в 16:09 #21090MikhailМодераторСделайте, пожалуйста, скриншот настроек, при которых возникает проблема.
19.10.2021 в 16:14 #21091MikhailМодераторДля тестирования POST-запросов использовать драйвер не слишком удобно. Попробуйте Postman, например.
19.10.2021 в 16:18 #21092manjey73УчастникДа уже разобрался, просто с HTTP впервые сталкиваюсь и в самом драйвере не хватает логирования, чтобы стало понятно как и что он отправляет.
Вот по аналогии с сайтом, какие заголовки, как он тело отправил и так далее.
Опять же, каким-то образом синтаксические ошибки чтобы адекватно показывал.Я так понимаю, что нельзя драйвером создать ДВА запроса ? чтобы например подавая команду 1 и 2 отправить разные запросы с одного КП, а так же использовать данные во 2-й команде выдернутого ответа из 1-й команды?
20.10.2021 в 15:18 #21109MikhailМодераторДа, чтобы отправлять разные запросы, нужно создать несколько КП, по одному для каждого запроса.
KpHttpNotif не обрабатывает ответ. Задача этого драйвера — только отправка.18.03.2022 в 23:01 #22529VylegzhaninDУчастникИ снова здравствуйте.
Как настроить КП если надо вызвать
https://smsc.ru/sys/get.php?get_answers=1&login=<login>&psw=<password>
методом GET или POST при помощи драйвера KpHttpNotif.
Как заполнять поля?21.03.2022 в 13:11 #22551MikhailМодераторДобрый день!
Нужно ввести ссылку в поле URI.
Если подразумевается получение ответа на СМС, то драйвер KpHttpNotif не подойдёт, т.к. он только отправляет, то есть он просто не будет анализировать ответ на запрос.21.03.2022 в 13:12 #22552MikhailМодераторЧтение СМС реализовано в драйвере KpSms, который работает с физическим модемом.
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.