|
|
|
Postman возращает 200, а 1с 301. Мультук, Pprog151713, WebberNSK, ejikbeznojek, Бешеный заяц, DiMel_77, Eiffil123, Кир Пластелинин, Гипервизор, KJlag, ДенисСмирнов, Kobol, Lama12, Timon1405, Zamestas, nick86, Kongo2019, toypaul, ТДК, Климов Сергей, JanK, zenik, АгентБезопаснойНацио, Sserj, Ненавижу 1С, Сметанин, Chai Nic, U4Me2, JohnGilbert, Chameleon1980, Гость из Мариуполя
| ☑ | ||
|---|---|---|---|---|
|
0
Сметанин
13.01.26
✎
10:32
|
Добрый день!
post запрос отправляю через postman код ответа 200, а через 1с код 301. Код в 1с: Заголовки = Новый Соответствие; Заголовки.Вставить("Token", "..."); Заголовки.Вставить("Content-Type", "application/json"); Сервер = "api.botto.ai"; SSL_Соединение = Новый ЗащищенноеСоединениеOpenSSL( Новый СертификатКлиентаWindows(), Новый СертификатыУдостоверяющихЦентровWindows()); Соединение = Новый HTTPСоединение(Сервер,,,,,,SSL_Соединение); Ресурс = ""; ИдПроверенного = ...; //4. Получение результатов Структура = Новый Структура; Структура.Вставить("method", "communications.bases.contacts.export"); Парам = Новый Структура; Парам.Вставить("id", ИдПроверенного); Парам.Вставить("project_id", ...); Структура.Вставить("params", Парам); ТекстJSON = iq_ИнтеграцияСервер_Оптимизация.ПолучитьТекстJSON(Структура, Новый ПараметрыЗаписиJSON()); HTTPЗапрос = Новый HTTPЗапрос(Ресурс, Заголовки); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстJSON); HTTPОтвет = Соединение.ОтправитьДляОбработки(HTTPЗапрос); Если HTTPОтвет.КодСостояния = 200 Тогда Сообщить("Успешно"); Иначе Сообщить(СтрШаблон("Ошибка %1", HTTPОтвет.КодСостояния)); КонецЕсли; Другие запросы на этот же ресурс из 1с отрабатывают успешно |
|||
|
1
Kongo2019
13.01.26
✎
10:40
|
(0) очевидно же настройках хостинга где-то включен редирект
|
|||
|
2
Radion
13.01.26
✎
10:44
|
(1) чем отличается запрос 1с от запроса через Postman ?
|
|||
|
3
Мультук
гуру
13.01.26
✎
10:46
|
||||
|
4
Kongo2019
13.01.26
✎
10:56
|
(2)потому что Postman умеет в редикет а 1с нет. Надо типа такого. С рекурсией гонять.
Функция ПолучитьДанныеСURL(URL)
СоединениеHTTP = Новый HTTPСоединение(
URL, 443, , , , , Новый ЗащищенноеСоединениеOpenSSL()
);
ЗапросHTTP = Новый HTTPЗапрос("/");
РезультатЗапроса = СоединениеHTTP.Получить(ЗапросHTTP);
Если РезультатЗапроса.КодСостояния = 200 Тогда
// Запрос выполнен успешно
Возврат РезультатЗапроса.ПолучитьТелоКакСтроку();
ИначеЕсли РезультатЗапроса.КодСостояния = 301 Тогда
// Перенаправление
НовыйURL = РезультатЗапроса.Заголовки.Получить("Location");
Сообщить("Ресурс перемещен на: " + НовыйURL);
// Рекурсивный вызов функции для обработки перенаправления
Возврат ПолучитьДанныеСURL(НовыйURL);
Иначе
// Другие ошибки
Сообщить("Ошибка: " + РезультатЗапроса.КодСостояния + " " + РезультатЗапроса.ОписаниеСостояния);
Возврат "";
КонецЕсли;
КонецФункции |
|||
|
5
программистище
13.01.26
✎
10:57
|
// Обрабатываем перенаправление
Если Результат.КодСостояния >= 300 и Результат.КодСостояния < 400 Тогда Сообщить("Код статуса больше 3XX, Перенаправление. Код статуса: " + Результат.КодСостояния); Если Результат.КодСостояния = 302 Тогда Сообщить("Код статуса 302, Постоянное перенаправление."); АдресРесурса = Результат.Заголовки.Получить("Location"); Если АдресРесурса <> Неопределено Тогда Сообщить("Выполняю запрос по новому адресу " + АдресРесурса); ВыполнитьHTTPЗапрос(АдресРесурса, ТелоЗапроса, КодПроцедурыОбработчика, СообщатьОРезультате); Иначе Сообщить("Сервер не сообщил адрес ресурса!"); КонецЕсли; КонецЕсли; КонецЕсли; вызывает саму себя |
|||
|
6
Сметанин
13.01.26
✎
11:01
|
(4)(5) Спасибо буду пробовать
|
|||
|
7
Dedal
13.01.26
✎
13:02
|
||||
|
8
Сметанин
14.01.26
✎
07:25
|
(4) Этот запрос должен возращать файл. В Location https://api.botto.ai/reports/ИмяФайла.xlsx.
Пробую получить файл: ИначеЕсли HTTPОтвет.КодСостояния = 301 Тогда АдресФайла = HTTPОтвет.Заголовки.Получить("Location"); Сообщить(АдресФайла); HTTPЗапрос1 = Новый HTTPЗапрос(АдресФайла, Заголовки); HTTPОтвет = Соединение.ОтправитьДляОбработки(HTTPЗапрос1); ДД = HTTPОтвет.ПолучитьТелоКакДвоичныеДанные(); ДД.Записать("c:\1\botto.xlsx"); Файл сохраняет, но содержимое некорректное не то что в Postman, пробовал и Get-запрос, результат другой, но тоже неправильный. |
|||
|
9
Сметанин
14.01.26
✎
07:26
|
(3)(7) Спасибо, но из-за одного запроса не хотелось бы устанавливать и осваивать библиотеку.
|
|||
|
10
Сметанин
14.01.26
✎
07:49
|
Файл должен быть xlsx, если пробую сохранить с этим расширением, при открытии пишет "формат или расширение являются недопустимыми". Пробовал уже "Content-Type", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, не помогает
|
|||
|
11
Eiffil123
14.01.26
✎
08:59
|
(10) сохрани с разрешением txt и посмотри блокнотом, что там внутри. может еще один редирект или 404 какой-нибудь
|
|||
|
12
Мультук
гуру
14.01.26
✎
09:01
|
(10)
Открыть Far и посмотреть по F3 содержимое файла c:\1\botto.xlsx Не позволяет религия ? Там небось какой-нибудь html |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |