|
HTTPОтвет - прошу в json, приходит в html | ☑ | ||
---|---|---|---|---|
0
mikecool
10.07.19
✎
11:48
|
Ссылка http://<сервер>/<ресурс>/?date_from=01.07.2019%2000:00:00&id=<id>&format=json
в браузере возвращает json в 1с: Соединение = Новый HTTPСоединение("<сервер>"); Заголовки = Новый Соответствие; Заголовки.Вставить("date_from", "01.07.2019%2000:00:00"); Заголовки.Вставить("id", "<id>"); Заголовки.Вставить("format", "json"); Запрос = Новый HTTPЗапрос("<ресурс>", Заголовки); ИмяФайла = ПолучитьИмяВременногоФайла("json"); Результат = Соединение.Получить(Запрос, ИмяФайла); Данные = Результат.ПолучитьТелоКакСтроку(); Код состояния = 200, тип результата - html, тело - не то, что запрошено Пробовал в запрос всю строку пихать, без заголовков - тот же результат. Что я делаю не так? и еще вопрос - а чем просматривать http запросы, которые уходят из 1с? желательно что-то для чайников ) |
|||
1
PiotrLoginov
10.07.19
✎
11:53
|
тут скорее надо спрашивать у тех, кто сервис ваял.
чем смотреть запросы/ответы - не подскажу. но сейчас этого добра... от плагинов для браузеров до самостоятельных утилит. |
|||
2
Cyberhawk
10.07.19
✎
11:55
|
Всю строку в запрос и надо пихать. Но без базового УРЛа.
|
|||
3
Александр Б
10.07.19
✎
11:59
|
(0) см (2)
date_from, id и format - это не заголовки. Это параметры, которые необходимо передавать вместе с "ресурсом". |
|||
4
PiotrLoginov
10.07.19
✎
11:59
|
кстати, да ...
Запрос = Новый HTTPЗапрос("<ресурс>/?date_from=01.07.2019%2000:00:00&id=<id>&format=json", Заголовки); |
|||
5
mikecool
10.07.19
✎
12:20
|
запихнул, но результат не поменялся (
|
|||
6
mikecool
10.07.19
✎
12:21
|
+5 ессно без урла пихал )
|
|||
7
zva
10.07.19
✎
12:36
|
Описание api есть?
Заголовки.Вставить("Content-Type", "application/json"); Можно тем же Postman посмотреть что уходит |
|||
8
mikecool
10.07.19
✎
12:55
|
(7) описание получить можно, но сложно
попробую, спасибо |
|||
9
mikecool
10.07.19
✎
12:59
|
+8 не помогло, сохраняется хтмл, буду запрашивать описание апи
|
|||
10
butterbean
10.07.19
✎
12:59
|
(6) а "%20" на пробел заменил?
|
|||
11
Вафель
10.07.19
✎
12:59
|
(7) это не обязательно ты же не передаешь, а получаешь
|
|||
12
butterbean
10.07.19
✎
13:00
|
(0) если запрос в браузере работает, то и корректно составленный (4) должен работать 100%
|
|||
13
Вафель
10.07.19
✎
13:00
|
может дата нужна в другом формате
20191231T111234 |
|||
14
Garykom
гуру
10.07.19
✎
13:02
|
(9) Покажи что ты запихнул (код покажи кусок), 101% что где то скосячил
|
|||
15
mikecool
10.07.19
✎
13:09
|
(10) заменил, выполнение Соединение.Получить в отладке замерло на несколько секунд(как будто передача была), но в результате снова html
(14) результат на данный момент Соединение = Новый HTTPСоединение("<урл>"); Запрос = Новый HTTPЗапрос("<ресурс>?date_from=01.07.2019 00:00:00&id=<id>&format=json"); ИмяФайла = ПолучитьИмяВременногоФайла("json"); Результат = Соединение.Получить(Запрос, ИмяФайла); Данные = Результат.ПолучитьТелоКакСтроку(); <ресурс> начинается и заканчивается на "/" - может на обратный слеш надо заменить? |
|||
16
mikecool
10.07.19
✎
13:10
|
+15 не, обратные сразу дают код ответа 404
|
|||
17
Garykom
гуру
10.07.19
✎
13:14
|
(15) Убери конечный / в ресурсе
|
|||
18
Garykom
гуру
10.07.19
✎
13:14
|
(17)+ А начинаться да должен на /
|
|||
19
Garykom
гуру
10.07.19
✎
13:16
|
И проверь у тебя случаем не httpS требуется?
Что в ответе внутри html? |
|||
20
Garykom
гуру
10.07.19
✎
13:17
|
(19)+ Просто браузеры автоматом умеют делать редирект с http на https если сервер приказал, 1С это вручную надо
|
|||
21
Cyberhawk
10.07.19
✎
13:17
|
Что внутри пришедшего html'а?
|
|||
22
mikecool
10.07.19
✎
21:37
|
все как всегда банально - после ошибочного переноса параметров в заголовки и возвращения оных обратно в строку запроса я забыл перед параметрами слеш добавить, а сервер к этому оказался чуствителен
|
|||
23
PiotrLoginov
11.07.19
✎
01:46
|
Все хорошо, что хорошо кончается
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |