Помогите с передачей параметров методом POST в управляемом приложении
Добрый вечер!
Пытаюсь получить данные с интернет страницыhttps://check1.fsrar.ru/MobileApi/transportwb
Пишу следующий код:
Выдает сообщение: ошибка ввода с картинки, хотя в отладчики данные InstanceId и UserInput совпадают
Пытаюсь получить данные с интернет страницы
Пишу следующий код:
&НаКлиенте
Процедура КапчаПриИзменении(КапчаИД,Request,)
Request = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
Капча1 = НРег(Капча);
ТекстЗапроса = "";
ТекстЗапроса = ТекстЗапроса + "id=" + Объект.ИдентификаторТТН + "&";
ТекстЗапроса = ТекстЗапроса + "owner_id=" + Объект.КлиентИД + "&";
ТекстЗапроса = ТекстЗапроса + "CaptchaId=" + "SampleCaptcha" + "&";
ТекстЗапроса = ТекстЗапроса + "InstanceId=" + КапчаИД + "&";
ТекстЗапроса = ТекстЗапроса + "UserInput=" + Капча1;
Request.Open("POST", "https://check1.fsrar.ru/MobileApi/transportwb", 0);
Request.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
Request.Send(ТекстЗапроса);
Request.WaitForResponse();
Ответ = Сред(Request.ResponseText,2, СтрДлина(Request.ResponseText)-2);
Ответ = СтрЗаменить(Ответ, "\u003c", "<");
Ответ = СтрЗаменить(Ответ, "\u003e", ">");
Сообщить(ответ);
КонецПроцедуры
ПоказатьВыдает сообщение: ошибка ввода с картинки, хотя в отладчики данные InstanceId и UserInput совпадают
Прикрепленные файлы:
По теме из базы знаний
- 1С + PHP + JavaScript + AJAX. Основы технологий удаленного взаимодействия
- Размещение PDF в Поле HTML управляемой формы для просмотра веб-клиентом
- Создание стартовой базы
- Управление сборкой. Расширение для конфигурации СППР
- Резервное копирование и восстановление 1С баз на PostgreSQL в Windows с помощью pgAdmin, bat-файлов и планировщика
Найденные решения
Разобрался, все работает. Ошибка была в контексте.
Пример рабочего кода:
Пример рабочего кода:
&НаКлиенте
Процедура КапчаПриИзменении()
Если Request = Неопределено Тогда
Возврат;
КонецЕсли;
Капча = НРег(Капча);
ТекстЗапроса = "";
ТекстЗапроса = ТекстЗапроса + "id=" + Объект.ИдентификаторТТН + "&";
ТекстЗапроса = ТекстЗапроса + "owner_id=" + Объект.КлиентИД + "&";
ТекстЗапроса = ТекстЗапроса + "CaptchaId=" + "SampleCaptcha" + "&";
ТекстЗапроса = ТекстЗапроса + "InstanceId=" + КапчаИД + "&";
ТекстЗапроса = ТекстЗапроса + "UserInput=" + Капча + "&";
Request.Open("POST", "https://check1.fsrar.ru/MobileApi/transportwb", 0);
Request.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
Request.Send(ТекстЗапроса);
Request.WaitForResponse();
Ответ = Сред(Request.ResponseText,2, СтрДлина(Request.ResponseText)-2);
Ответ = СтрЗаменить(Ответ, "\u003c", "<");
Ответ = СтрЗаменить(Ответ, "\u003e", ">");
Макет = ПолучитьМакетHTML();
ПолеHTMLДокумента1 = СтрЗаменить(Макет, "#InsertAnswer#", Ответ);
ЭтаФорма.ОбновитьОтображениеДанных(Элементы.ПолеHTMLДокумента1);
Если Найти(Ответ, "Ошибка ввода") Тогда
ПолучитьКартинкуНажатие(Неопределено);
Капча = "";
Капча = Капча;
КонецЕсли;
КонецПроцедуры
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Разобрался, все работает. Ошибка была в контексте.
Пример рабочего кода:
Пример рабочего кода:
&НаКлиенте
Процедура КапчаПриИзменении()
Если Request = Неопределено Тогда
Возврат;
КонецЕсли;
Капча = НРег(Капча);
ТекстЗапроса = "";
ТекстЗапроса = ТекстЗапроса + "id=" + Объект.ИдентификаторТТН + "&";
ТекстЗапроса = ТекстЗапроса + "owner_id=" + Объект.КлиентИД + "&";
ТекстЗапроса = ТекстЗапроса + "CaptchaId=" + "SampleCaptcha" + "&";
ТекстЗапроса = ТекстЗапроса + "InstanceId=" + КапчаИД + "&";
ТекстЗапроса = ТекстЗапроса + "UserInput=" + Капча + "&";
Request.Open("POST", "https://check1.fsrar.ru/MobileApi/transportwb", 0);
Request.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
Request.Send(ТекстЗапроса);
Request.WaitForResponse();
Ответ = Сред(Request.ResponseText,2, СтрДлина(Request.ResponseText)-2);
Ответ = СтрЗаменить(Ответ, "\u003c", "<");
Ответ = СтрЗаменить(Ответ, "\u003e", ">");
Макет = ПолучитьМакетHTML();
ПолеHTMLДокумента1 = СтрЗаменить(Макет, "#InsertAnswer#", Ответ);
ЭтаФорма.ОбновитьОтображениеДанных(Элементы.ПолеHTMLДокумента1);
Если Найти(Ответ, "Ошибка ввода") Тогда
ПолучитьКартинкуНажатие(Неопределено);
Капча = "";
Капча = Капча;
КонецЕсли;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот