Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
27 сен 2021, 07:35

проверка капчи в post запросе

Автор zic991, 27 авг 2016, 12:20

0 Пользователей и 1 гость просматривают эту тему.

zic991

Подскажите Пожалуйста как проверить капчу, получить "validCaptcha":true

код программы:

&НаСервере
Процедура ПроверкаНаСервере( )

Сервер = "dkbm-web.autoins.ru";
Путь = "/dkbm-web-1.0/osagovehicle.htm";

Попытка
Соединение = Новый HTTPСоединение(Сервер);
//соединение.ПолучитьЗаголовки(
Исключение
Server.ОбработатьИсключение("Не удалось установить соединение с сервером:" +Сервер
+ Символы.ПС + ИнформацияОбОшибке().Описание);
//Возврат Ложь;
КонецПопытки;

Попытка
Ответ = Соединение.GET(Новый HTTPЗапрос("dkbm-web-1.0/osagovehicle.htm"));
Исключение
Server.ОбработатьИсключение(ОписаниеОшибки());
//Возврат Ложь;
КонецПопытки;

JSESSIONID =лев( WebServer.json_encode(Ответ.Заголовки ["Set-Cookie"]),44);

Заголовки = Новый Соответствие();   
Заголовки.Вставить("Accept","image/webp,image/*,*/*;q=0.8");
Заголовки.Вставить("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
Заголовки.Вставить("Cookie","JSESSIONID="+JSESSIONID);
Заголовки.Вставить("Host","dkbm-web.autoins.ru");
Заголовки.Вставить("Referer","http://dkbm-web.autoins.ru/dkbm-web-1.0/osagovehicle.htm";);

Попытка
Ответ1 = Соединение.GET(Новый HTTPЗапрос("dkbm-web-1.0/simpleCaptcha.png",Заголовки));
Исключение
Server.ОбработатьИсключение(ОписаниеОшибки());
КонецПопытки;
КартинкаКапчи = Ответ1.ПолучитьТелоКакДвоичныеДанные();
Капча = ПоместитьВоВременноеХранилище(КартинкаКапчи, УникальныйИдентификатор);



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

&НаКлиенте
Процедура Проверить(Команда)
Заголовки1 = Новый Соответствие();   

Заголовки1.Вставить("Accept","application/json");
Заголовки1.Вставить("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
Заголовки1.Вставить("Cookie","JSESSIONID="+JSESSIONID);
Заголовки1.Вставить("Connection","keep-alive");
Заголовки1.Вставить("Host","dkbm-web.autoins.ru");
Заголовки1.Вставить("Referer","http://dkbm-web.autoins.ru/dkbm-web-1.0/osagovehicle.htm";);

ПараметрыЗапроса = Новый Структура();
ПараметрыЗапроса.Вставить("serialOsago",СерияПолиса);
ПараметрыЗапроса.Вставить("numberOsago",НомерПолиса);
ПараметрыЗапроса.Вставить("dateRequest",ДатаПроверки);
ПараметрыЗапроса.Вставить("answer",ТекстКапчи);

СодержимоеЗапроса = Новый HTTPЗапрос("/dkbm-web-1.0/osagovehicle.htm", Заголовки1);
СодержимоеЗапроса.УстановитьТелоИзСтроки("serialOsago="+СерияПолиса+"&numberOsago="+НомерПолиса+"&dat­eRequest="+ДатаПроверки+"&answer="+ТекстКапчи);


Соединение = Новый HTTPСоединение("dkbm-web.autoins.ru");

Попытка
Ответ2 = Соединение.POST(СодержимоеЗапроса);

Исключение
Server.ОбработатьИсключение(ОписаниеОшибки());
//Возврат Ложь;
КонецПопытки;

Результат = Ответ2.ПолучитьТелоКакСтроку()+ Ответ2.КодСостояния;

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

&НаКлиенте
Процедура ПриОткрытии()

ПроверкаНаСервере( );
КонецПроцедуры

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск