|
Ошибка в http-запросе | ☑ | ||
---|---|---|---|---|
0
Momus
14.09.22
✎
08:04
|
curl -X POST "http://0.0.0.0/apikeys/token" -H "accept: application/json" -H "apiversion: 99.0" -H "Content-Type: application/json-patch+json" -d "
{\"apiKey\":\"00000000-0000-0000-0000-000000000000\"}" Сообщение = Новый СообщениеПользователю; СерверИсточник = "http://0.0.0.0"; Попытка HTTPСоединение = Новый HTTPСоединение(СерверИсточник); Исключение Сообщение.Текст = "Не удалось соединиться с сервером: " + СерверИсточник; Сообщение.Сообщить(); Сообщение.Текст = ОписаниеОшибки(); Сообщение.Сообщить(); Возврат; КонецПопытки; Заголовки = Новый Соответствие; Заголовки.Вставить("accept", "application/json"); Заголовки.Вставить("apiversion", "99.0"); Заголовки.Вставить("Content-Type", "application/json-patch+json"); Запись = Новый ЗаписьJSON; Запись.УстановитьСтроку(); Запись.ЗаписатьНачалоОбъекта(); Запись.ЗаписатьИмяСвойства("apiKey"); Запись.ЗаписатьЗначение("00000000-0000-0000-0000-000000000000"); Запись.ЗаписатьКонецОбъекта(); СтрокаJSON = Запись.Закрыть(); HTTPЗапрос = Новый HTTPЗапрос("/apikeys/token", Заголовки); HTTPЗапрос.УстановитьТелоИзСтроки(СформироватьДобавляемыеДанные()); Попытка Результат = HTTPСоединение.ВызватьHTTPМетод("POST", HTTPЗапрос); Сообщение.Текст = Результат.ПолучитьТелоКакСтроку(); Сообщение.Сообщить(); Исключение Сообщение.Текст = ОписаниеОшибки(); Сообщение.Сообщить(); Возврат; КонецПопытки; Ошибка при вызове метода контекста (ВызватьHTTPМетод): Ошибка работы с Интернет: Couldn't resolve host name Порты? HTTPСоединение работает без ошибок, ошибка на HTTPСоединение.ВызватьHTTPМетод("POST", HTTPЗапрос); |
|||
1
Garykom
гуру
14.09.22
✎
08:13
|
||||
2
Garykom
гуру
14.09.22
✎
08:14
|
(1) сравни с https://helpme1s.ru/rabota-s-http-zaprosami-get-i-post-v-yazyke-1s-8-3-8-2-v-primerax
найди разницу |
|||
3
Смотрящий
14.09.22
✎
08:15
|
"/apikeys/token" замени на "/apikeys/token/"
|
|||
4
Garykom
гуру
14.09.22
✎
08:16
|
(3) это пофиг
|
|||
5
Momus
14.09.22
✎
08:16
|
(1) Там нормальный адрес в оригинале
|
|||
6
Garykom
гуру
14.09.22
✎
08:17
|
у него "http://" лишнее
и странный ip адрес "0.0.0.0" |
|||
7
Garykom
гуру
14.09.22
✎
08:18
|
(5) Прочитай уже мануал
В адресе сервера http:// не надо Просто ip или имя сервера http или https задается другим способом, через порт и Новый ЗащищенноеСоединениеOpenSSL() |
|||
8
Momus
14.09.22
✎
08:18
|
(6) адрес уличной камеры в сети. Доступен с любого ПК с браузера
(7) я делал по примеру с итс( |
|||
9
Garykom
гуру
14.09.22
✎
08:19
|
(8) покажи пример с итс
|
|||
10
Momus
14.09.22
✎
08:21
|
(9) https://its.1c.ru/db/intgr83/content/66/hdoc
В адресе сервера http:// не надо - помогло, хотя ошибку 405 теперь получают |
|||
11
Momus
14.09.22
✎
08:23
|
(10) но если сделать как в (2), то все ок. спасибо
|
|||
12
Garykom
гуру
14.09.22
✎
08:23
|
(10)
СерверИсточник = "localhost"; Попытка // Создать HTTP-соединение с сервером localhost. HTTPСоединение = Новый HTTPСоединение(СерверИсточник); как видишь никакого http:// в примере на итс |
|||
13
Garykom
гуру
14.09.22
✎
08:26
|
(10) 405 смотри заголовок Allow в Результат
|
|||
14
Momus
14.09.22
✎
08:46
|
Нет, видимо что-то не так делаю. Все-таки нужно использовать POST в ВызватьHTTPМетод для получения нужного мне результата.
(13) не такого заголовка ПолучитьТелоКакСтроку() возвращает 405 Not Allowed |
|||
15
Смотрящий
14.09.22
✎
09:17
|
Что означает код ошибки сервера 405?
Код 405 Method Not Allowed говорит нам о том, что сервер получил определенный запрос с заданным HTTP-методом, смог его распознать, но не дает добро на его реализацию. То есть пользователь не получит доступ к контенту, который запросил. В отличие от 404, 405 уточняет, что запрашиваемая страница существует и функционирует. Только вот стоит изменить используемый в HTTP-запросе метод. Иначе ничего не выйдет. |
|||
16
Kassern
14.09.22
✎
09:25
|
(0) А где вы дальше используете СтрокаJSON? Почему в тело не помещаете запроса?
|
|||
18
Momus
14.09.22
✎
09:31
|
(16) это я неправильно сократил...
СтрокаJSON = СформироватьДобавляемыеДанные(), т.е. должно быть HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаJSON); |
|||
19
Momus
14.09.22
✎
09:31
|
(17) пробовал
|
|||
20
Kassern
14.09.22
✎
09:31
|
(19) curl корректно у вас отрабатывает?
|
|||
21
Kassern
14.09.22
✎
09:33
|
Адрес у вас https или http?
|
|||
22
Garykom
гуру
14.09.22
✎
09:38
|
(14) Кроме ПолучитьТелоКакСтроку() у Результат есть еще Заголовки
Покажи их! |
|||
23
Garykom
гуру
14.09.22
✎
09:39
|
(22)+ Конкретно в Результат.Заголовки.Allow что?
|
|||
24
Momus
14.09.22
✎
10:01
|
(23) я же говорю, что нет такого заголовка
|
|||
25
Momus
14.09.22
✎
10:03
|
(20) как проверить? не знаю(
(21) http |
|||
26
Garykom
гуру
14.09.22
✎
10:06
|
(25) >как проверить? не знаю(
издеваешься? curl поставь и запусти свою строку возможно оно не пашет |
|||
27
Momus
14.09.22
✎
10:10
|
(26) я уже загуглил, спасибо. не пашет
|
|||
28
Kassern
14.09.22
✎
10:12
|
(27) ахах))) Это первое, что вы должны были проверить) У вас POST метод не опубликован скорее всего
|
|||
29
Momus
14.09.22
✎
10:14
|
(28) это мой первый раз) в следующий раз будет меньше глупых вопросов. спасибо
|
|||
30
Kassern
14.09.22
✎
10:18
|
(29) да все норм. Я обычно постманом проверяю, работает ли вообще обмен с сервисом, если ошибка со стороны 1с. Если там норм, то уже начинаю 1ску ковырять
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |