Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1
  • 2

TOPIC: Библиотека HTTP, проблема с отправкой POST запроса

Библиотека HTTP, проблема с отправкой POST запроса 1 year 3 months ago #2644

  • Egor
  • Egor's Avatar
  • Offline
  • Junior Member
  • Posts: 23
  • Karma: 0
Здравствуйте, возникла проблема с отправкой POST запроса.
Коллекция имя-значение не приходит на сервер при отправке запроса с teslaSCADA. (Ответ с сервера приходит)
при отправке get запроса с браузера всё хорошо.

Скрипт, который выполняется со свойствами: основной, каждый цикл, ST.
httppostcreate("server1", "http://localhost:8000");
//пропуск кода
httppostaddvalue("server1","PLC_READY", Tags.PRINT_UNIT_PLC_READY);
httppostaddvalue("server1","PRINT_HEAD_POWER_CONTROL", Tags.PRINT_UNIT_PRINT_HEAD_POWER_STATE);
string response = httppostexecute("server1");
if(!stringsequals(response, "")){
	print(response);
	Tags.ABORT = httppostgetvalue(response, "ABORT");
        //пропуск кода
}
Сервер реализуется на C#, используя стандартный прослушиватель HttpListener.
teslaSCADA.cs

При отправке GET запроса из браузера, данные обновляются http://localhost:8000/?PLC_READY=true&ABORT=true
При отправке POST запроса с ST кода teslaSCADA, данные не приходят.

И подскажите ссылку на документацию, как пользоваться HTTP сервером в teslaSCADA IDE? (имею ввиду в списке серверов есть пункт "HTTP-сервер")

Краткое объяснение сервера, если понадобится
HttpListenerGetContext - асинхронный метод, который ожидает клиента с возможностью отмены цикла.
При запросе на изменение вызывается метод Update, обновляя структуру CallBack.
Last Edit: 1 year 3 months ago by Egor.
The administrator has disabled public write access.

Библиотека HTTP, проблема с отправкой POST запроса 1 year 3 months ago #2646

  • Egor
  • Egor's Avatar
  • Offline
  • Junior Member
  • Posts: 23
  • Karma: 0
Egor wrote:
И подскажите ссылку на документацию, как пользоваться HTTP сервером в teslaSCADA IDE? (имею ввиду в списке серверов есть пункт "HTTP-сервер")
Не понятно, какие запросы он должен поддерживать и как реализовывается запросы с сервера, на сервер.
The administrator has disabled public write access.

Библиотека HTTP, проблема с отправкой POST запроса 1 year 3 months ago #2651

  • fatkhrus
  • fatkhrus's Avatar
  • Offline
  • Administrator
  • Posts: 877
  • Thank you received: 131
  • Karma: -108
Я проверил Ваш скрипт с внешним WebHook сайтом: webhook.site/. Туда данные приходят. Не знаю почему не приходят на ваш сервер (давно C-sharp изучал). Тут проще половить отладчиком IDE в которой вы код для сервера пишите.



С уважением,
Руслан
The administrator has disabled public write access.

Библиотека HTTP, проблема с отправкой POST запроса 1 year 3 months ago #2652

  • fatkhrus
  • fatkhrus's Avatar
  • Offline
  • Administrator
  • Posts: 877
  • Thank you received: 131
  • Karma: -108
По поводу HTTP сервера. Краткое описание здесь: teslascada.com/HTMLRU/http-server.html
Видео урок как с ним работать можно посмотреть здесь:

С уважением,
Руслан
The administrator has disabled public write access.

Библиотека HTTP, проблема с отправкой POST запроса 1 year 3 months ago #2655

  • Egor
  • Egor's Avatar
  • Offline
  • Junior Member
  • Posts: 23
  • Karma: 0
Я нашел, причину пустых данных.
Данные с teslaSCADA приходят с заголовком Content-type=application/x-www-form-urlencoded
Get запросы с Content-type=null (text/html)
Мои запросы с Content-type=application/json; charset=UTF-8.
Чтение необходимо осуществлять через поток, так как application/x-www-form-urlencoded не разбивается на коллекцию имя-значение.
string str2;
using (var reader = new StreamReader(request.InputStream, request.ContentEncoding)) {
    str2 = reader.ReadToEnd();
}
Спасибо, разобрался.
The administrator has disabled public write access.

Библиотека HTTP, проблема с отправкой POST запроса 1 year 3 months ago #2656

  • Egor
  • Egor's Avatar
  • Offline
  • Junior Member
  • Posts: 23
  • Karma: 0
fatkhrus wrote:
По поводу HTTP сервера. Краткое описание здесь: teslascada.com/HTMLRU/http-server.html
Видео урок как с ним работать можно посмотреть здесь:
Имею ввиду, есть ли возможность создать свой HTTP-SERVER не из teslaSCADA?
Ошибка при указании кастомного сервера "Не могу подсоединиться к серверу!"
Запрос от клиента runtime к серверу не приходит при подключении.
1) Как teslaSCADA проходит проверку на подсоединение к HTTP-SERVER?
2) Как teslaSCADA проходит аутентификацию?
3) теги получает из 127.0.0.1:8000/tags?
Last Edit: 1 year 3 months ago by Egor.
The administrator has disabled public write access.
  • Page:
  • 1
  • 2
Go to top