Post-запрос не отправляет на обычных формах

1. user1202776 13.05.21 11:36 Сейчас в теме
Этот код на управляемых формах отправляет файл на сайт, а на обычных формах возвращает код ошибки 302.
В чем может проблема?
Каталог = "C:\Downloads";
​ ​ ​ Маска = "*.csv";
​ ​ ​ Сервер = ​ "sait-ru.spot2d.com";
​ ​ ​ Адрес = "/upload/auto";
​ ​ ​ ID = "123";
​ ​ ​ Пользователь = "login";
​ ​ ​ Пароль = "parol";
ВидФайла = "cancellations";
​ ​ ​ ИмяФайла = "C:\Downloads\cancellations.csv";
​ ​ ​ Boundary = "bf8c624ec6cb4516979bc6ec133fcb94";
​ ​ ​ //ФайлДляПередачи = ДополнительныеПараметры.ФайлДляПередачи;
​ ​ ​ ФайлДляПередачи = Новый ТекстовыйДокумент;
​ ​ ​ ​
​ ​ ​ Соединение = Новый HTTPСоединение(Сервер);
​ ​ ​ Заголовки = Новый Соответствие();
​ ​ ​ Заголовки.Вставить("Content-Type","multipart/form-data; boundary="+Boundary);
​ ​ ​ HTTPЗапрос = Новый HTTPЗапрос(Адрес,Заголовки);
​ ​ ​ HTTPЗапрос.УстановитьТелоИзСтроки(ФайлДляПередачи.ПолучитьТекст());
​ ​ ​ Ответ = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
​ ​ ​ Соединение = Неопределено;
​ ​ ​ СтрокаОтвета = Ответ.ПолучитьТелоКакСтроку();
​ ​ ​ Сообщить("Передача файла " + ВидФайла + " (" + ИмяФайла + ")" + " ответ " + СтрокаОтвета + " Код состояния:" + Ответ.КодСостояния);
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
8. spacecraft 13.05.21 13:33 Сейчас в теме
(1) могу предположить, что приведенный код отличается от кода, который применяется в УФ. Судя по коду ответа 302, это перенаправление и (Хайли лайкли) нужно запрос отправлять по https, а не http. А в 8.2 защищенное соединение не работает так как в 8.3 (поддерживаются не все версии TLS).
Попробуйте использовать сторонние программы. Для примера:
Новый COMОбъект("MSXML2.XMLHTTP.6.0")
9. Sashares 33 13.05.21 14:28 Сейчас в теме
(8)Соглашусь с вами, что ТС врет - код в обработке для обычного и управляемого приложения разный.
Но с чего вы вообще притянули 8.2?
Почему у вас обычное = 8.2, а управляемое = 8.3?
10. user1202776 13.05.21 15:04 Сейчас в теме
(9)
(8)
Код полностью одинаковый
12. Sashares 33 13.05.21 16:17 Сейчас в теме
(10)Скажу банальность. Нет никакой мистики в 1С.
Скорее всего у вас внешняя обработка, значит код размещен на формах обработки, один на обычной, другой на управляемой.
Если в управляемом приложении все работает, а в обычном нет, значит 99% проблема в вас (в коде), 1% оставим на платформу.

Раз сервер возвращает ответ (даже если это ответ с кодом 302), значит проблема в вас 99.9%.
Код 302, как уже сказали - означает переадресацию, то есть вы не тот адрес указываете/ошибка в адресе.

Чтобы посмотреть чем отличаются отправляемые сообщения в обычном и управляемом приложении - установите Fiddler, выполните отправку и сравните сообщения.
14. spacecraft 13.05.21 17:07 Сейчас в теме
(9) я же указал: "могу предположить". Как вариант, обычные формы УПП, УФ - БП3.0
11. user1202776 13.05.21 15:05 Сейчас в теме
(8) обычные и управляемые формы 8.3
13. spacecraft 13.05.21 17:05 Сейчас в теме
(11) приведите скрины "О программе" обоих приложений
2. Pixar0000 13.05.21 11:43 Сейчас в теме

ФайлДляПередачи = Новый ТекстовыйДокумент;
​ ​ ​ ​
​ ​ ​ Соединение = Новый HTTPСоединение(Сервер);
​ ​ ​ Заголовки = Новый Соответствие();
​ ​ ​ Заголовки.Вставить("Content-Type","multipart/form-data; boundary="+Boundary);
​ ​ ​ HTTPЗапрос = Новый HTTPЗапрос(Адрес,Заголовки);

​ ​ ​ HTTPЗапрос.УстановитьТелоИзСтроки([IS-QUOTE]ФайлДляПередачи.ПолучитьТекст()
);

[/IS-QUOTE]

создал текстовый документ, ничего туда не написал и получаешь оттуда текст
6. user1202776 13.05.21 11:51 Сейчас в теме
(2)это я для простоты понимаю так сделал). Там текстовый документ не пустой)
3. andy_zhav 197 13.05.21 11:46 Сейчас в теме
(1) 302 ошибку возвращает сервер, если возникло перенаправление на другой ресурс. Возможно проблема в заголовках.
Прикрепленные файлы:
4. user1202776 13.05.21 11:50 Сейчас в теме
(3)а почему тогда на управляемых формах все хорошо отрабатывает?
5. andy_zhav 197 13.05.21 11:51 Сейчас в теме
(4) Хороший вопрос. Возможно выполняете запрос на сервере, а там маршрут до сайта другой..
7. user1202776 13.05.21 12:12 Сейчас в теме
(5)в управляемых формах на клиенте выполняю
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот