Имя: Пароль:
1C
1С v8
Отладка запросов к http сервису из 1с
0 Звездец
 
19.04.20
10:25
Карантин карантином, но надо и поработать. Есть сторонний сервис, ответы приходят по json, аутентификация через заголовок по токену. Пытаюсь сделать произвольный запрос что бы получить статус (по сути проверка соединения).

&НаСервере
Функция ОтправитьЗапроскAPI (ТекстЗапросаКAPI)
HTTPСоединение = Новый HTTPСоединение("api.myservice.ru",443,,,,,Новый ЗащищенноеСоединениеOpenSSL(),);
HTTPЗапрос = Новый HTTPЗапрос("pub");
HTTPЗапрос.Заголовки.Вставить("Content-type", "application/json");
HTTPЗапрос.Заголовки.Вставить("x-client-key", "Application " + СОКРЛП(Токен));

HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапросаКAPI, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);

  Ответ = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
Возврат Ответ.КодСостояния;
КонецФункции

//////////////////////////////////////////////////////////////////////
&НаКлиенте
Процедура КомандаПроверкаСвязиAPI(Команда)
    Ответ = ОтправитьЗапроскAPI("");
    Сообщить (Ответ);

КонецПроцедуры


в ответ получаю 404. Хотя вроде как все должно быть ок. И тут я встал в ступор, а как посмотреть что уходит на сервер? варианта посмотреть на сервере нет. А как отлаживать со стороны 1с что-то непонятно
1 Звездец
 
19.04.20
10:28
неужели единственный вариант - парсить запросы? но тут еще и https, так что там ничего тоже не видно будет
2 TormozIT
 
гуру
19.04.20
11:07
Через Postman работает?
3 Звездец
 
19.04.20
11:14
(2) неделю назад работал. вчера не проверял, ну недумаю что сервис лег
4 zmaximka
 
19.04.20
11:17
А если так HTTPЗапрос = Новый HTTPЗапрос("/pub"); ?
5 TormozIT
 
гуру
19.04.20
11:18
Проверь в том же коде подключиться к любому известному доступному сайту.
6 Звездец
 
19.04.20
11:19
(4) со слешами игрался, все равно 404. Вот и задался вопросом как посмотреть что там за запрос и куда
7 TormozIT
 
гуру
19.04.20
11:20
Еще бы желательно увидеть полный ответ, а не только код состояния.
8 Звездец
 
19.04.20
11:21
(5) ya.ru возвращает 302
9 Звездец
 
19.04.20
11:21
(7) а что там еще при 404? код и заголовки
10 TormozIT
 
гуру
19.04.20
11:23
ОтветHTTP.ПолучитьТелоКакСтроку()
11 Звездец
 
19.04.20
11:24
(10) пусто там
12 TormozIT
 
гуру
19.04.20
11:26
еще какое нибудь известное имя ресурса на том же сервере проверь
13 TormozIT
 
гуру
19.04.20
11:28
(11) Странно. А если в браузере открыть тот же адрес?
14 Звездец
 
19.04.20
11:30
(12) если взять корень адреса, то в браузере открывается страница расположенного на нем сайта, но 1с все равно 404 возвращает
15 TormozIT
 
гуру
19.04.20
11:33
Сервер публичный?
16 Звездец
 
19.04.20
11:36
(15) да
попробуй
https://api.aqsi.ru/#section/Description  описание в самом начале

токен
l2q11EHitlnMsnkqbb2bgLD1XuDzEMtqdASBBdvu0ZkbzrRFng2nVVBj3Gtnf5ne
17 Звездец
 
19.04.20
11:37
чтобы начать слать запросы, пытаюсь для начала проверить прохождение авторизации
18 TormozIT
 
гуру
19.04.20
11:46
Ресурс pub поддерживает только GET.
19 TormozIT
 
гуру
19.04.20
11:47
А вот pub/v1/Shops поддерживает POST
20 TormozIT
 
гуру
19.04.20
11:55
(18) Точнее код статус 404 и пустое тело ответа возвращает на только POST.
21 Звездец
 
19.04.20
12:02
(19) хм, ок. пошел пробовать.
22 Звездец
 
19.04.20
12:04
спасибо, другие методы вернули 415. Правда в ответе Unsupported Media Type
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс