|
Post запрос из Postman - 200, из 1С - 404 | ☑ | ||
---|---|---|---|---|
0
Sj
11.11.21
✎
19:13
|
Доброе время суток!
Делаю Post запрос из Postman - получаю 200. Из 1С - не 200. Смотрю в Fiddler что уходит. Из Postman: POST https://xn.xn/api/orders/update HTTP/1.1 Content-Type: application/json User-Agent: PostmanRuntime/7.28.4 Accept: */* Postman-Token: aa2d90bd-2c1d-4bc3-9e2c-c392fa93ba24 Host: xn.xn Accept-Encoding: gzip, deflate, br Connection: keep-alive Content-Length: 33 { "id_order": 1, "status": 2 } Из 1С: POST https://xn.xn/api/orders/update HTTP/1.1 Host: xn.xn Accept: */* Connection: keep-alive Accept-Encoding: gzip, deflate, br User-Agent: PostmanRuntime/7.28.4 Content-Type: application/json Content-Length: 36 { "id_order": 1, "status": 2 } В чем может быть проблема? Может быть в том, что в 1С Content-Length: 36 ? При том, что СтрДлина(Тело) возвращает 33. |
|||
1
pechkin
11.11.21
✎
19:16
|
Bom?
|
|||
2
Ёпрст
11.11.21
✎
19:18
|
BOM
|
|||
3
Ёпрст
11.11.21
✎
19:18
|
а ёпт, олени не кормлены
|
|||
4
Sj
11.11.21
✎
19:24
|
а как убрать?
|
|||
5
Ёпрст
11.11.21
✎
19:46
|
ИспользованиеByteOrderMark.НеИспользовать
|
|||
6
Ёпрст
11.11.21
✎
19:47
|
+ в УстановитьТелоИзСтроки 3 параметр
|
|||
7
бегинер
11.11.21
✎
19:54
|
ну как вариант у тебя ответ сжат gzip - вот 1с его не понимает, нужно его ungzip
у меня такое было, в постмане все норм - там на лету он определяет сжатие и декодирует так как штатно 1С gzip не может разархивировать, нашел бесплатную dll (дублирую во вложении) которую регим через regsvr32 и используем как COM Обьект, она соотв. может разарх. gzip http://www.xstandard.com/en/documentation/xgzip/ вот мой код для получения ответа, у меня сервер ответ в gzip выдавал Соединение = Новый HTTPСоединение(ссылка_на_rest_api,,,,,таймаут_rest); Заголовки = Новый Соответствие; Заголовки.Вставить("Authorization", логин_пароль_base64); Заголовки.Вставить("Content-type", "application/json"); Заголовки.Вставить("Accept-Encoding", "gzip"); Запрос = Новый HTTPЗапрос(приписка_к_ссылке,Заголовки); Запрос.УстановитьТелоИзСтроки(строка_тела,"CESU-8"); попытка; Результат=Соединение.ОтправитьДляОбработки(Запрос); исключение; сообщить("нет соединения или ответа с сервером "); конецпопытки; ДвоичныеДанные = Результат.получитьТелоКакДвоичныеДанные(); ДвоичныеДанные.Записать(путь+"файл_gzip.zip"); архиватор=Новый COMОбъект("XStandard.GZip"); архиватор.Decompress (путь+"файл_gzip.zip", путь+"распакованный_файл_gzip"); архиватор=неопределено; Файл = Новый ЧтениеТекста(путь+"распакованный_файл_gzip",кодировкатекста.UTF8); ВесьФайлОднойСтрокой = Файл.Прочитать(); Файл.Закрыть(); |
|||
8
acht
11.11.21
✎
19:57
|
(7) 404 это ну вот совсем не про сжатие, которое 1С не понимает.
|
|||
9
acht
11.11.21
✎
19:59
|
||||
10
бегинер
11.11.21
✎
20:09
|
(9) спасибо пригодится, когда вопрос у меня был через вк сделал
|
|||
11
Sj
11.11.21
✎
20:10
|
(5) спасибо! Помогло!)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |