KpHttpNotif

Просмотр 11 сообщений - с 1 по 11 (из 11 всего)
  • Автор
    Сообщения
  • #21078
    manjey73
    Участник

    Не могу понять что необходимо делать и как настраивать ?

    Вот есть у меня необходимость послать Post запрос для реализации драйвера, пытаюсь для проверки отправить его, используя KpHttpNotif

    Адресной книги нет, то есть нет почты, телефона или email
    Как драйвером отправить Post запрос и получить ответ?

    Причем в тело запроса надо добавить application/json и там указать
    {
    «email «почтовый ящик»,
    «password»: «пароль»
    }

    #21079
    manjey73
    Участник

    Поля заполнены.
    Основные — POST в URI указан адрес куда стучимся
    Параметры включены начало и конец { }
    Заголовки Accept: application/json
    Содержимое application/json Кодирование JSON (пробовал и без)
    Тело заголовка
    {
    «email «тут логин в виде почты»,
    «password»: «тут пароль»
    }

    При перезапуске линии
    Ошибка: КП 148 «Http_Test»: URI не может быть пустым.

    Почему ?

    #21080
    manjey73
    Участник

    Я так понимаю все поля должны подставляться в 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 все введенные параметры как они должны правильно подставляться ? И вообще в каком виде они должны быть подставлены, не понимаю?

    Хоть несколько примеров приведите

    • Этот ответ был изменен 1 месяц, 1 неделя назад от manjey73.
    #21082
    manjey73
    Участник

    КП 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» ожидает команд…

    После рестарта линии вроде как идет ожидание команд, но первая посылка приводит к ошибке, вторая не проходит. Как посмотреть лог что именно отправляется ?

    • Этот ответ был изменен 1 месяц, 1 неделя назад от manjey73.
    #21084
    manjey73
    Участник

    Как собственно в логах посмотреть что конкретно отправляется на сервер из драйвера?

    #21085
    manjey73
    Участник

    Почему я в логе не вижу типа этого

    http://www.abc.com/details?method=post&name=john&phonenumber=445566

    Хотя выставляю POST пишу заголовок и тело в настройках ?

    #21086
    manjey73
    Участник

    Вот же…

    Убрал «Параметры включены» и получил то, что хотел.

    НО Как всегда есть НО — не хватает логирования например в виде как сделано на сайте

    https://reqbin.com/post-online

    Убил бы меньше времени, а так разберись, что не так ввел или ввел не туда….

    Так же в догонку — почему в логе не показывает весь ответ? ограничение на длину строки? Где в коде KpHttpNotif это изменить ?

    • Этот ответ был изменен 1 месяц, 1 неделя назад от manjey73.
    #21090
    Mikhail
    Модератор

    Сделайте, пожалуйста, скриншот настроек, при которых возникает проблема.

    #21091
    Mikhail
    Модератор

    Для тестирования POST-запросов использовать драйвер не слишком удобно. Попробуйте Postman, например.

    #21092
    manjey73
    Участник

    Да уже разобрался, просто с HTTP впервые сталкиваюсь и в самом драйвере не хватает логирования, чтобы стало понятно как и что он отправляет.
    Вот по аналогии с сайтом, какие заголовки, как он тело отправил и так далее.
    Опять же, каким-то образом синтаксические ошибки чтобы адекватно показывал.

    Я так понимаю, что нельзя драйвером создать ДВА запроса ? чтобы например подавая команду 1 и 2 отправить разные запросы с одного КП, а так же использовать данные во 2-й команде выдернутого ответа из 1-й команды?

    #21109
    Mikhail
    Модератор

    Да, чтобы отправлять разные запросы, нужно создать несколько КП, по одному для каждого запроса.
    KpHttpNotif не обрабатывает ответ. Задача этого драйвера — только отправка.

Просмотр 11 сообщений - с 1 по 11 (из 11 всего)
  • Вы должны авторизироваться для ответа в этой теме.