Помогите с передачей параметров методом POST
Добрый день. Необходимо получить данные от сервера: https://pro.subscribe.ru/api/?apiversion=100&json=1&request.id=777&request= {"action":"ping";} . Через браузер все отлично считывается.
Возникла проблема с процедурой ОтправитьДляОбработки(), выдает ошибку: Ошибка работы с Интернет: Couldn't connect to server.
WinHTTP так же пробовал. Ошибка: при вызове Send ошибка Произошла исключительная ситуация (WinHttp.WinHttpRequest): Соединение с сервером было неожиданно прервано
Все впустую.
Код:
Сервер = "pro.subscribe.ru";
Ресурс = "/api";
HTTP = Новый HTTPСоединение(Сервер,443,,,,Истина);
ФайлЗапроса = ПолучитьИмяВременногоФайла();
ТекстовыйФайл = Новый ТекстовыйДокумент;
ТекстовыйФайл.УстановитьТекст("?apiversion=100&json=1&request.id=777&request={""action"" : ""ping""}");
ТекстовыйФайл.Записать(ФайлЗапроса, КодировкаТекста.UTF8);
ФайлРезультата = ПолучитьИмяВременногоФайла();
ЗаголовокHTTP = Новый Соответствие();
ЗаголовокHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded");
ЗаголовокHTTP.Вставить("Accept-Language", "ru");
ЗаголовокHTTP.Вставить("Accept-Charset", "utf-8");
ЗаголовокHTTP.Вставить("Content-Language", "ru");
ЗаголовокHTTP.Вставить("Content-Charset", "utf-8");
HTTP.ОтправитьДляОбработки(ФайлЗапроса, Ресурс, ФайлРезультата, ЗаголовокHTTP);
Ответ = Новый ТекстовыйДокумент();
Ответ.Прочитать(ФайлРезультата, КодировкаТекста.UTF8);
ТекстОтвета = Ответ.ПолучитьТекст();
УдалитьФайлы(ФайлЗапроса);
УдалитьФайлы(ФайлРезультата);
Попытка
WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
WinHttp.Option(2,"utf-8");
WinHttp.Open("POST","https://pro.subscribe.ru/api/",0);
WinHttp.SetRequestHeader("Accept-Language", "ru");
WinHttp.SetRequestHeader("Accept-Charset","utf-8");
WinHttp.setRequestHeader("Content-Language", "ru");
WinHttp.setRequestHeader("Content-Charset", "utf-8");
WinHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
ПараметрыПОСТ = "&apiversion=100&json=1&request.id=777&request={""action"" : ""ping""}";
WinHttp.Send(ПараметрыПОСТ);
ТекстОтвета = WinHttp.ResponseText();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Спасибо за помощь.
Возникла проблема с процедурой ОтправитьДляОбработки(), выдает ошибку: Ошибка работы с Интернет: Couldn't connect to server.
WinHTTP так же пробовал. Ошибка: при вызове Send ошибка Произошла исключительная ситуация (WinHttp.WinHttpRequest): Соединение с сервером было неожиданно прервано
Все впустую.
Код:
Сервер = "pro.subscribe.ru";
Ресурс = "/api";
HTTP = Новый HTTPСоединение(Сервер,443,,,,Истина);
ФайлЗапроса = ПолучитьИмяВременногоФайла();
ТекстовыйФайл = Новый ТекстовыйДокумент;
ТекстовыйФайл.УстановитьТекст("?apiversion=100&json=1&request.id=777&request={""action"" : ""ping""}");
ТекстовыйФайл.Записать(ФайлЗапроса, КодировкаТекста.UTF8);
ФайлРезультата = ПолучитьИмяВременногоФайла();
ЗаголовокHTTP = Новый Соответствие();
ЗаголовокHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded");
ЗаголовокHTTP.Вставить("Accept-Language", "ru");
ЗаголовокHTTP.Вставить("Accept-Charset", "utf-8");
ЗаголовокHTTP.Вставить("Content-Language", "ru");
ЗаголовокHTTP.Вставить("Content-Charset", "utf-8");
HTTP.ОтправитьДляОбработки(ФайлЗапроса, Ресурс, ФайлРезультата, ЗаголовокHTTP);
Ответ = Новый ТекстовыйДокумент();
Ответ.Прочитать(ФайлРезультата, КодировкаТекста.UTF8);
ТекстОтвета = Ответ.ПолучитьТекст();
УдалитьФайлы(ФайлЗапроса);
УдалитьФайлы(ФайлРезультата);
Попытка
WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
WinHttp.Option(2,"utf-8");
WinHttp.Open("POST","https://pro.subscribe.ru/api/",0);
WinHttp.SetRequestHeader("Accept-Language", "ru");
WinHttp.SetRequestHeader("Accept-Charset","utf-8");
WinHttp.setRequestHeader("Content-Language", "ru");
WinHttp.setRequestHeader("Content-Charset", "utf-8");
WinHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
ПараметрыПОСТ = "&apiversion=100&json=1&request.id=777&request={""action"" : ""ping""}";
WinHttp.Send(ПараметрыПОСТ);
ТекстОтвета = WinHttp.ResponseText();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Спасибо за помощь.
По теме из базы знаний
- 1С + PHP + JavaScript + AJAX. Основы технологий удаленного взаимодействия
- 1С:Специалист по платформе. Система подготовки к экзамену. Личное мнение (C)
- Ошибка загрузки большого архива 1Cv8.dt в PostgresSQL на платформе 1С 8.3.19
- Резервное копирование и восстановление 1С баз на PostgreSQL в Windows с помощью pgAdmin, bat-файлов и планировщика
- Разработка внешней компоненты по технологии Native API. Мониторинг файловой системы в 1С
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
У тебя проблемы с сертификатом там поэтому нет возможности подключится. Долго ковырялся тоже как ты раньше но нашел как это обойти вот переработанное (сейчас пользуюсь постоянно так как писал для интеграции с курьерской службой мультишип)
Процедура КнопкаВыполнитьНажатие(Кнопка)
СтрокаПередачи="?apiversion=100&json=1&request.id=777&request={""action"" : ""ping""}";
Ответ=ОтправитьЧерезВин(СтрокаПередачи,"pro.subscribe.ru","/api");
КонецПроцедуры
Функция ОтправитьЧерезВин(Содержимое,АдресСервераОнлайнПроверки,РесурсНаСервере)
WinHttp=Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
Скрипт= Новый COMОбъект("MSScriptControl.ScriptControl");
Скрипт.language="javascript";
Скрипт.AddObject("WinHttp",WinHttp);
Скрипт.Eval("WinHttp.Option(4)=13056");//intSslErrorIgnoreFlags
Скрипт.Eval("WinHttp.Option(6)=true");//blnEnableRedirects
Скрипт.Eval("WinHttp.Option(12)=true");//blnEnableHttpsToHttpRedirects
WinHttp.Open("POST","https://"+АдресСервераОнлайнПроверки+"/"+РесурсНаСервере,false);
WinHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
Попытка
WinHttp.Send(Содержимое);
WinHttp.WaitForResponse();
Возврат WinHttp.ResponseText;
Исключение
Возврат "";
КонецПопытки;
КонецФункции
Показать
Добрый день.
Похожая проблема, с сайта все работает, а при send валится по ошибке
Произошла исключительная ситуация (WinHttp.WinHttpRequest): An error occurred in the secure channel support
Код которым отправляются данные:
Обход Сергея Афонькина не помогает, ошибка та же :( понимаю что ваша проблема скорее всего давно решена, может подскажите как решили? Заранее спасибо
Похожая проблема, с сайта все работает, а при send валится по ошибке
Произошла исключительная ситуация (WinHttp.WinHttpRequest): An error occurred in the secure channel support
Код которым отправляются данные:
WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
WinHttp.Option(2,"utf-8");
WinHttp.Open("POST",URL,0);
WinHttp.SetRequestHeader("Accept-Language", "ru");
WinHttp.SetRequestHeader("Accept-Charset","utf-8");
WinHttp.setRequestHeader("Content-Language", "ru");
WinHttp.setRequestHeader("Content-Charset", "utf-8");
WinHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");
WinHttp.setRequestHeader("BillNumber",BillNumber);
WinHttp.setRequestHeader("Merchant_ID",Merchant_ID);
WinHttp.setRequestHeader("Login",Login);
WinHttp.setRequestHeader("Password",Password);
WinHttp.Send();
ПоказатьОбход Сергея Афонькина не помогает, ошибка та же :( понимаю что ваша проблема скорее всего давно решена, может подскажите как решили? Заранее спасибо
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот