Передача post из 1С в Express

  1. 2 г. назад
    10.09.2021 08:24:52 отредактировано Дуб

    Привет, господа-нарушители, забаненные роскомпозором :)
    Вопрос имею, мож кто подскажет.
    Из 1с хочу на свой сервер данные кидать. Через post.
    И якобы даже что-то уходит. Но на стороне сервера ничего не вижу.
    Явно мои кривые руки.
    Со стороны 1с:

    Соединение = Новый HTTPСоединение("194.49.51.2", "1111");
    Заголовки = Новый Соответствие;    
    Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded;");    
    HTTPЗапрос = Новый HTTPЗапрос("/app_add_to_server_" + Токен, Заголовки);
    HTTPЗапрос.УстановитьТелоИзСтроки(<Некий текст>);
    Результат = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
    

    Со стороны ноды:

    app.post('/app_add_to_server_*', upload.array(), function (req, res, next) {let token = req.path.replace('/app_add_to_server_', ''); db.app_add_to_server(token, req, res);});

    И потом

    function app_add_to_server(token, req, res){
    	let d = req.body;
    	console.log('' + token + '\n' + d);
    	res.send('undefined');
    }
    
    Ответы: (3) (13)
  2. что за [...] ты занимаешься на работе? ты вообще кем там?...

    Ответы: (2)
  3. (1) спасаю человечество. Как обычно

    Ответы: (3)
  4. 10.09.2021 08:41:06 отредактировано sda553

    (0) отдельно потести сервер альтернативным работающим http клиентом, отдельно потести 1с клиента на альтернативном работающем http сервере.

    Ответы: (4) (9)
  5. (3) не, get проходят нормально. А в сабже d выдаёт Object, без свойств.

    Ответы: (5)
  6. 10.09.2021 08:51:31 отредактировано sda553

    (4) в смысле "выдает d"? Ты ж говорил, что на стороне сервера ничего нет. То есть запрос на ноде срабатывает? Просто тело не то, что посылали?

    Ответы: (7) (12)
  7. 10.09.2021 08:55:57 отредактировано sda553

    Замени на
    Заголовки.Вставить("Content-Type", "text/plain");
    Если прокатит, то расскажи, что такое "некий текст"

  8. (5) срабатывает, но текста не видит. В качестве текста - сериализованный в json массив.

    Ответы: (12)
  9. То же самое: [object Object]

    Ответы: (9)
  10. (8) теперь попробуй вариант

    sda553 отдельно потести сервер альтернативным работающим http клиентом

    Ответы: (10)
  11. (9) так он у меня работает же. В смысле - изначально это двухзвенка была: браузер - клиентом, нода с экспрессом - сервером. Всё збс.
    Просто решил переделать обмен бэкенда с одноэсом с ftp на http. Вот - ипусь.

    Ответы: (11)
  12. (10) попробовать каким нибудь альтернативным клиентом, к примеру postman, послать такой же POST и посмотреть, будет ли [object Object]

  13. Дуб (5) срабатывает, но текста не видит. В качестве текста - сериализованный в json массив.

    Заголовки.Вставить("Content-Type", "application/json");

    Ответы: (14)
  14. (0)все правильно уважаемый sda553 говорит. через postman отрабатывает ваш запрос?

    Ответы: (14)
  15. (12) то же самое.
    (13) если из браузера через ActiveXObject("Msxml2.XMLHTTP") корректно отрабатывает, то зачем мне перебирать остальные варианты?
    Скорее всего проблема в заголовках, либо в таком духе что-то.
    Повторюсь: get корректно проходят

    Ответы: (15)
  16. (14) ну, вот вы и решите постманом, каких именно заголовков вам не хватает
    но если хочется помучатся, то почему нет. Можете ломать голову просто так

  17. Стоп, товарищи. Кажися наступила ясность местами. Синтаксис передачи параметров.
    Скопировал браузерный код логина - отработал корректно.
    Пока таймаут.
    Прошу прощения :)

или зарегистрируйтесь чтобы ответить!