Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Проблема получения GET запроса

Проблема получения GET запроса
Я
   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 все четко работает и данные получаются, но там я сразу на вход подаю строку целиком.

Как создать сервер, что бы текст после слеша остался? Может он как-то отдельно добавляется?
 
 
   Lokli
 
1 - 07.02.20 - 15:09
ТекстHTTPЗапрос = "/pub/v2/Shops/list";
   ArturR
 
2 - 07.02.20 - 15:12
(1)
Пробовал.
В описании API GET запрос выглядит так "/v2/Shops/list", т.е. предполагается, что  "/pub" как-то уже должно быть
   VKS
 
3 - 07.02.20 - 15:22
а через браузер получается достучаться?
   ArturR
 
4 - 07.02.20 - 15:34
(3)
Не совсем понимаю.
   Garykom
 
5 - 07.02.20 - 15:35
(2) У тебя путаница не может быть сервера "blabla.ru/pub" - сервер всегда до "/" и он "blabla.ru" все прочее это строка параметров в URL.
Т.е. (1) надо.

Да там может быть что на "blabla.ru" висит некий промежуточный сервер (nginx например) который отлавливает "/pub/..." и редиректит на некий другой сервер но это глубоко пофиг
   Garykom
 
6 - 07.02.20 - 15:37
(5)+ Может быть сервер стать "pub.blabla.ru" это типа поддомен добавили
   Cyberhawk
 
7 - 07.02.20 - 15:37
(2) "В описании API GET запрос выглядит так "/v2/Shops/list"" // Ну тупи - в описании апи перечислены динамические, относительные части. Полный УРЛ в 1С указываемый - это все что после первоно одиночного слэша в URI
   ArturR
 
8 - 07.02.20 - 15:42
Это цитата из описания API

"Базовый URL боевого сервера: https://api.aqsi.ru/pub";
   Garykom
 
9 - 07.02.20 - 15:49
(8) Там про v1 написано а не про v2
   ДенисЧ
 
10 - 07.02.20 - 15:50
(8) Базовый урл - это неизменяемая часть. Адрес сервера, к которому подключаться надо -  https://api.aqsi.ru
Адрес ресурса - /pub/+ твой урл из апи.
Останавливайся тупить... Все понимают, что вечер пятницы, но всё же.
   pechkin
 
11 - 07.02.20 - 15:53
адрес сервера и  базовый урл - разные вещи
   pechkin
 
12 - 07.02.20 - 15:54
базовый урл = адрес сервера + неизменная часть пути
   Deon
 
13 - 07.02.20 - 15:56
(9) И везде POST, а не GET
   Lokli
 
14 - 07.02.20 - 16:03
(13) Не везде... Там разные типы запросов.
   ArturR
 
15 - 07.02.20 - 16:19
(8)(9)(10)
Спасибо.
Вроде заработало.
   Сияющий в темноте
 
16 - 07.02.20 - 18:51
термин базовый адрес идет от тага BASE в html
в 1с такого нет.

хотя нет,http сервис имеет базовую часть адреса и параметризуемую.
базовая записывается относительно корня базы 1с и перед ней hs

адрес же сервера это префикс типа соединения http://
днс имя хоста или айпи адрес
даоеточие и номер порта,если не стандартный

никакого пути в адресе нет,так как адрес может быть не только для http протокола.

путь же передается уже внутри запроса,когда соединение установлено в первой строке.
   ArturR
 
17 - 08.02.20 - 09:35
(16)
Спасибо, за пояснение.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.