|
Проблема получения GET запроса | ☑ | ||
---|---|---|---|---|
0
ArturR
07.02.20
✎
15:03
|
Привет всем!
Пару месяцев назад наладил получение данных по API с одного ресурса. В описании был указан боевой сервер, назовем условно - "blabla.ru", ну и варианты GET запросов. Создавал соединение: Соединение = Новый HTTPСоединение("blabla.ru",,,,,,Новый ЗащищенноеСоединениеOpenSSL()); Заголовки.Вставить("x-client-key", "Application " + APIкеу); ТекстHTTPЗапрос = "/v2/Shops/list"; Запрос = Новый HTTPЗапрос(ТекстHTTPЗапрос, Заголовки); Ответ = Соединение.ВызватьHTTPМетод("GET", Запрос).ПолучитьТелоКакСтроку(); Однако пару дней назад ресурс поменял API и изменил боевой сервер - "blabla.ru/pub". Когда я создаю соединение и указываю новый сервер, то в свойствах Соединения сервер выглядит "blabla.ru", т.е все что после слеша удалено. Соединение = Новый HTTPСоединение("blabla.ru/pub",,,,,,Новый ЗащищенноеСоединениеOpenSSL()); И как следствие GET запрос не отрабатывает (ну я так думаю, что из-за этого) В Postman все четко работает и данные получаются, но там я сразу на вход подаю строку целиком. Как создать сервер, что бы текст после слеша остался? Может он как-то отдельно добавляется? |
|||
1
Lokli
07.02.20
✎
15:09
|
ТекстHTTPЗапрос = "/pub/v2/Shops/list";
|
|||
2
ArturR
07.02.20
✎
15:12
|
(1)
Пробовал. В описании API GET запрос выглядит так "/v2/Shops/list", т.е. предполагается, что "/pub" как-то уже должно быть |
|||
3
VKS
07.02.20
✎
15:22
|
а через браузер получается достучаться?
|
|||
4
ArturR
07.02.20
✎
15:34
|
(3)
Не совсем понимаю. |
|||
5
Garykom
гуру
07.02.20
✎
15:35
|
(2) У тебя путаница не может быть сервера "blabla.ru/pub" - сервер всегда до "/" и он "blabla.ru" все прочее это строка параметров в URL.
Т.е. (1) надо. Да там может быть что на "blabla.ru" висит некий промежуточный сервер (nginx например) который отлавливает "/pub/..." и редиректит на некий другой сервер но это глубоко пофиг |
|||
6
Garykom
гуру
07.02.20
✎
15:37
|
(5)+ Может быть сервер стать "pub.blabla.ru" это типа поддомен добавили
|
|||
7
Cyberhawk
07.02.20
✎
15:37
|
(2) "В описании API GET запрос выглядит так "/v2/Shops/list"" // Ну тупи - в описании апи перечислены динамические, относительные части. Полный УРЛ в 1С указываемый - это все что после первоно одиночного слэша в URI
|
|||
8
ArturR
07.02.20
✎
15:42
|
||||
9
Garykom
гуру
07.02.20
✎
15:49
|
(8) Там про v1 написано а не про v2
|
|||
10
ДенисЧ
07.02.20
✎
15:50
|
(8) Базовый урл - это неизменяемая часть. Адрес сервера, к которому подключаться надо - https://api.aqsi.ru
Адрес ресурса - /pub/+ твой урл из апи. Останавливайся тупить... Все понимают, что вечер пятницы, но всё же. |
|||
11
pechkin
07.02.20
✎
15:53
|
адрес сервера и базовый урл - разные вещи
|
|||
12
pechkin
07.02.20
✎
15:54
|
базовый урл = адрес сервера + неизменная часть пути
|
|||
13
Deon
07.02.20
✎
15:56
|
(9) И везде POST, а не GET
|
|||
14
Lokli
07.02.20
✎
16:03
|
(13) Не везде... Там разные типы запросов.
|
|||
15
ArturR
07.02.20
✎
16:19
|
(8)(9)(10)
Спасибо. Вроде заработало. |
|||
16
Сияющий в темноте
07.02.20
✎
18:51
|
термин базовый адрес идет от тага BASE в html
в 1с такого нет. хотя нет,http сервис имеет базовую часть адреса и параметризуемую. базовая записывается относительно корня базы 1с и перед ней hs адрес же сервера это префикс типа соединения http:// днс имя хоста или айпи адрес даоеточие и номер порта,если не стандартный никакого пути в адресе нет,так как адрес может быть не только для http протокола. путь же передается уже внутри запроса,когда соединение установлено в первой строке. |
|||
17
ArturR
08.02.20
✎
09:35
|
(16)
Спасибо, за пояснение. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |