|
Отправка информации используя протокол https | ☑ | ||
---|---|---|---|---|
0
first_may
21.07.23
✎
21:11
|
Добрый вечер..
Есть некоторый WEB сервис: https://services.test.ru/test Тип запроса POST АвторизацияBasic : Login : login Password: pass Обязательный заголовок запроса: Content-Type: “application/json” Структуру json сделал.. ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(, Символы.Таб); ЗаписьJSON = Новый ЗаписьJSON; ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписиJSON); ЗаписьJSON.ЗаписатьНачалоОбъекта(); ... ЗаписьJSON.ЗаписатьКонецОбъекта(); Результат = ЗаписьJSON.Закрыть(); отправку делаю так АдресWEBСервиса = "https://services.test.ru/test"; // тестовый имяФайлаОтправки = ПолучитьимяВременногоФайла("txt"); ЗаписьТекста = Новый ЗаписьТекста(имяФайлаОтправки); ЗаписьТекста.Записать(Результат); ЗаписьТекста.Закрыть(); имяВыходногоФайла = ПолучитьимяВременногоФайла("xml"); // наш сервер возвращает ответы в виде XML Заголовки = Новый Соответствие(); Заголовки.Вставить("Content-Type", "application/json"); Соединение = Новый HTTPСоединение(АдресWEBСервиса); Соединение.ОтправитьДляОбработки(имяФайлаОтправки, "addPost.php", имяВыходногоФайла, Заголовки); // удалим файл отправки - он больше не нужен Попытка УдалитьФайлы(имяФайлаОтправки); Исключение КонецПопытки; в итоге в строке Соединение.ОтправитьДляОбработки получаю ошибку по причине: Ошибка работы с Интернет: Couldn't resolve host name подскажите пож, в чем ошибка? может я не так выполняю отправку? |
|||
1
Мультук
21.07.23
✎
21:14
|
||||
2
Мультук
21.07.23
✎
21:16
|
(0)
Я так понимаю оно говорит, что не может резолвить https://services.test.ru/test" А вот services.test.ru наверное может. |
|||
3
CepeLLlka
21.07.23
✎
21:16
|
Ну вот же ошибка - Ошибка работы с Интернет: Couldn't resolve host name
Поправьте DNSы, пропишите адрес ресурса в hosts, проверьте адрес в строке подключения |
|||
4
first_may
21.07.23
✎
21:24
|
(2) вместо
АдресWEBСервиса = "https://services.test.ru/test"; // тестовый написал АдресWEBСервиса = "services.test.ru/test"; // тестовый ошибка по причине: Ошибка работы с Интернет: Превышено время ожидания (3) Поправьте DNSы, пропишите адрес ресурса в hosts, проверьте адрес в строке подключения - попробую (1) Готовая библиотека - там пример? |
|||
5
Мультук
21.07.23
✎
21:36
|
(4)
>> (1) Готовая библиотека - там пример? Ну что ты. Там голые бабы категории xxx |
|||
6
Donkey_hot
21.07.23
✎
21:39
|
(0) Может сервис просто офигевает от того, что ему под соусом application/json подсовывают xml?
|
|||
7
Donkey_hot
21.07.23
✎
21:40
|
(0) А так, на первый взгляд, если у Вас https, то в конструкторе HTTPСоединения необходимо указать параметр ЗащищенноеСоединение, или как он там называется...
|
|||
8
ДедМорроз
21.07.23
✎
21:48
|
Для https нужно указать порт 443 и передать объект защищённого соединения ssl.
|
|||
9
Garykom
21.07.23
✎
22:00
|
(8) ssl может быть на любом порту
|
|||
10
first_may
22.07.23
✎
08:07
|
(6), (7)
ему под соусом application/json подсовывают xml - нет, там не xml.. то есть, я сделал структуру json, записал во временный txt, пробую передать, а ответ в виде xml я пробовал как тут "Передача данных на веб-сервер из 1С методом POST." https://helpf.pro/faq/view/1298 |
|||
11
Мультук
22.07.23
✎
09:49
|
(10)
Еще раз для танкистов Смотрим пример (пример аж 2012 года. ну да бог с ним) // соединение с параметрами по умолчанию Соединение = Новый HTTPСоединение("www.mysite.ru"); //Ваш код Соединение = Новый HTTPСоединение("https://services.test.ru/test"); Нужно просто увидеть и понять разницу, особенно если вам прямо говорят "Couldn't resolve host name" P.S. Чисто любопытно, по моей ссылке из (1) вы сходили ? |
|||
12
Garykom
22.07.23
✎
10:49
|
(11) какой он нафик танкист
не может понять что протокол (http:// или https://) в адресе сервера не нужен |
|||
13
Garykom
22.07.23
✎
10:51
|
(12)+ как и путь "/test" на сервере
его надо в адрес ресурса (запроса) целиком "/test/addPost.php" |
|||
14
Donkey_hot
22.07.23
✎
12:22
|
(12) Могу ошибаться, но кажется уже в (4) ТС решил эту часть проблемы.
|
|||
15
first_may
22.07.23
✎
15:09
|
(11) (12) я хочу никого оскорблять, но для танкистов я так делал..
еще в (4) написал, что в вместо АдресWEBСервиса = "https://services.test.ru/test"; // тестовый написал АдресWEBСервиса = "services.test.ru/test"; // тестовый ошибка по причине: Ошибка работы с Интернет: Превышено время ожидания |
|||
16
first_may
22.07.23
✎
15:09
|
(11) (12) я НЕ хочу никого оскорблять, но для танкистов я так делал..
еще в (4) написал, что в вместо АдресWEBСервиса = "https://services.test.ru/test"; // тестовый написал АдресWEBСервиса = "services.test.ru/test"; // тестовый ошибка по причине: Ошибка работы с Интернет: Превышено время ожидания |
|||
17
first_may
22.07.23
✎
15:12
|
вроде форум для того, что бы оказывать помощь друг другу..
я никогда такого не делал.. задача появилась впервые, поэтому с уважением тут и спросил.. я мне говорят что танкист.. хотя это не правда, я на флотский.. ладно.. а по теме, может все таки подскажите, как сделать выгрузку? |
|||
18
Смотрящий
22.07.23
✎
15:36
|
JSONСтрока = ЗаписьJSON.Закрыть();
... СоединениеHTTP = Новый HTTPСоединение("services.test.ru",, "login", "pass",,, Новый ЗащищенноеСоединениеOpenSSL(,)); ЗапросHTTP = Новый HTTPЗапрос("/test", Заголовки); ЗапросHTTP.УстановитьТелоИзСтроки(JSONСтрока); ОтветHTTP = СоединениеHTTP.ВызватьHTTPМетод("POST", ЗапросHTTP); // Получаем ответ сервера гемотеста XMLЧтение = Новый ЧтениеXML; XMLЧтение.УстановитьСтроку(ОтветHTTP.ПолучитьТелоКакСтроку()); // Читаем данные XDTOФабрика = Новый ФабрикаXDTO; XDTOОбъект = XDTOФабрика.ПрочитатьXML(XMLЧтение); Чтоб не ипстись с файлами временными, крутим все на объектах XDTOОбъект - там в отладчике посмотришь |
|||
19
first_may
22.07.23
✎
18:11
|
(18) да, что то есть..
спс все большое.. |
|||
20
first_may
22.07.23
✎
18:11
|
дальше буду разбираться..
спс еще раз.. |
|||
21
first_may
22.07.23
✎
18:16
|
пришел ответ с сервиса
"В структуре отсутствует или не заполнено DistrID" все.. спс.. тему можно закрыть.. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |