Нажна помощь в алгоритме по поиску информации на сайте rosreest.ru
Пишу алгоритм по поиску (по кадастровому номеру) на сайте Росреестра информации.
Если кто сталкивался с подобными запросами, подскажите плиз.
Итак, мой алгоритм:
Номер="10:20:110125:11";
Итогом должен быть выполнен поиск по кадастровому номеру и переход на вторую страницу хотябы. Сейчас пока не переходит не понятно почему.
Если кто сталкивался с подобными запросами, подскажите плиз.
Итак, мой алгоритм:
Номер="10:20:110125:11";
//----------------------------------------------------------------------------------------------------------
АдресСервера = "rosreestr.ru";
ПутьДоСтраницыЗапроса = "/wps/portal/p/cc_ib_portal_services/online_request";
ПутьДоКартинкиКапчи = "/wps/portal/p/cc_ib_portal_services/online_request/!ut/p/z1/04_Sj9CPykssy0xPLMnMz0vMAfIjo8zi3QNNXA2dTQy93QMNzQ0c PR29DY0N3Q0MQkz1w_Eq8DfUj6JEP1ABSL8BDuBoANQfhdcKZyMCCkBOJGRJ QW5ohEGmpyIAKLXudw!!/p0/IZ7_01HA1A42KODT90AR30VLN22001=CZ6_GQ4E1C41KGQ170AIAK131 G00T5=NJcaptcha=/";
ИмяПараметраSESSID = "JSESSIONID_8";
Соединение = Новый HTTPСоединение(АдресСервера,,,,Новый ИнтернетПрокси,5,Новый ЗащищенноеСоединениеOpenSSL);
Ответ = Соединение.GET(Новый HTTPЗапрос(ПутьДоСтраницыЗапроса));
мстр = СтрЗаменить(Ответ.Заголовки["Set-Cookie"], ";",Символы.ПС);
Для нСтр = 1 по СтрЧислоСтрок(мстр) Цикл
тСтр = СтрПолучитьСтроку(мстр,нСтр);
Если Найти(тСтр,ИмяПараметраSESSID) > 0 Тогда
SESSID = СокрЛП(СтрЗаменить(СтрЗаменить(тСтр,ИмяПараметраSESSID,""),"=",""));
Прервать;
КонецЕсли;
КонецЦикла;
//----------------------------------------------------------------------------------------------------------
Соединение = Новый HTTPСоединение(АдресСервера,,,,Новый ИнтернетПрокси,5,Новый ЗащищенноеСоединениеOpenSSL);
Заголовки = Новый Соответствие();
Заголовки.Вставить("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3");
Заголовки.Вставить("Content-Type","application/x-www-form-urlencoded");
Заголовки.Вставить("Accept-Language", "ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7");
Заголовки.Вставить("Cache-Control", "max-age=0");
Заголовки.Вставить("Connection","keep-alive");
Заголовки.Вставить("Upgrade-Insecure-Requests","1");
Заголовки.Вставить("Accept-Encoding","gzip, deflate, br");
Заголовки.Вставить("Host",АдресСервера);
Заголовки.Вставить("Origin", АдресСервера);
Заголовки.Вставить("Referer",АдресСервера+ПутьДоСтраницыЗапроса);
Заголовки.Вставить("Cookie",ИмяПараметраSESSID+"="+SESSID);
Заголовки.Вставить("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36");
Ответ = Соединение.GET(Новый HTTPЗапрос(ПутьДоКартинкиКапчи,Заголовки));
//Ответ=Соединение.Получить(HTTPЗапрос);
ДвоичныеДанныеКартинки = Ответ.ПолучитьТелоКакДвоичныеДанные();
ЭлементыФормы.ПолеКартинки1.Картинка = Новый Картинка (ДвоичныеДанныеКартинки);
Строка =0;
ВвестиСтроку(Строка, "Введите капчу");
Цифры = Строка;
//Капча = ПоместитьВоВременноеХранилище(Ответ.ПолучитьТелоКакДвоичныеДанные(), УникальныйИдентификатор);
//ЭлементыФормы.ПолеКартинки1.Картинка = Новый Картинка (Капча);
//----------------------------------------------------------------------------------------------------------
СодержимоеЗапроса = Новый HTTPЗапрос(ПутьДоСтраницыЗапроса, Заголовки);
Ответ = Соединение.GET(СодержимоеЗапроса);
СтрокаХТМЛ = Ответ.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);
ЧтениеHTML = Новый ЧтениеHTML;
ЧтениеHTML.УстановитьСтроку(СтрокаХТМЛ);
ПостроительDOM = Новый ПостроительDOM;
ДокументHTML = ПостроительDOM.Прочитать(ЧтениеHTML);
ЭлементыDOM = ДокументHTML.ПолучитьЭлементыПоИмени("form");
Для Каждого ЭлДок Из ЭлементыDOM Цикл
//Если ЭлДок.Имя="PC_7_015A1H40IOMCC0ACRHALLM30A1000000_searchForm" Тогда
//Если ЭлДок.Имя="ns_Z7_01HA1A42KG4D30A3BUVH3O0000_searchForm" Тогда
//----------------------------------------------
Если ЭлДок.Имя="ns_Z7_01HA1A42KODT90AR30VLN22001_searchForm" Тогда // Эту запись периодически сайт меняет
//----------------------------------------------
АдресЗапроса0 = ЭлДок.Действие;
//АдресЗапроса0 = Лев(АдресЗапроса0,94);
//АдресЗапроса=ЭлДок.БазовыйURI +АдресЗапроса0;
//АдресЗапроса=Прав(АдресЗапроса,289);
КонецЕсли;
КонецЦикла;
АдресЗапроса="/wps/portal/p/cc_ib_portal_services/online_req uest/!ut/p/z1/04_Sj9CPykssy0xPLMnMz0vMAfIjo8zi3QNNXA2dTQy93QMNzQ0c PR29DY0N3Q0MQkz1w_Eq8DfUj6JEP1ABSL8BDuBoANQfhdcKZyMCCkBOJGRJ QW5ohEGmpyIAKLXudw!!/";
ПутьДоСтраницыЗапроса = АдресЗапроса+АдресЗапроса0;
//----------------------------------------------------------------------------------------------------
КадНомер=СтрЗаменить(Номер,":","%3A");
search_action="search_action=true"+ "&subject=" + "®ion="+"&settlement=" + "&search_type=CAD_NUMBER" + "&cad_num="+КадНомер+"&start_position=59"+"&obj_num="+"&old_ number="+"&street_type=str0"+"&street="+"&house="+"&building ="+"&structure="+"&apartment="+"&right_reg="+"&encumbrance_r eg="+"&captchaText="+Цифры+"";
СодержимоеЗапроса = Новый HTTPЗапрос(ПутьДоСтраницыЗапроса, Заголовки);
СодержимоеЗапроса.УстановитьТелоИзСтроки(search_action);
Ответ=Соединение.ОтправитьДляОбработки(СодержимоеЗапроса);
СтрокаХТМЛ = Ответ.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);
ЧтениеHTML = Новый ЧтениеHTML;
ЧтениеHTML.УстановитьСтроку(СтрокаХТМЛ);
ПостроительDOM = Новый ПостроительDOM;
ДокументHTML = ПостроительDOM.Прочитать(ЧтениеHTML);
ЭлементыDOM = ДокументHTML.ПолучитьЭлементыПоИмени("tr");
ПоказатьИтогом должен быть выполнен поиск по кадастровому номеру и переход на вторую страницу хотябы. Сейчас пока не переходит не понятно почему.
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот