През програмата да чета данни от htm страница
30 отговора
1346 прегледа
През програмата да чета данни от htm страница
Трябва през програма, написана на Delphi 6, да:
1. прочета данни от страница htm формат, отворена например в IE на MS или в компонента в програмата;
2. въведа данни в полета, които се намират в тази страница.
Става въпрос за следното конкретно действие.
Има база с данни на пациенти на лекар и по ЕГН-то им трябва да се провери осигурителният им здравен статус към момента.
Страницата за проверка е в сайта на НОИ, на адрес [линк]. В нея има три
полета за попълване:
- Въведете ЕГН\ЛНЧ - въвеждат се символи, стойността на ЕГН-то;
- ЕГН \ ЛНЧ - радиобутони - избор, по подразбиране ЕГН;
- Моля, въведете символите: въвеждат се символите от картинката под полето.
Трябва да се направи следното:
1. да изпратя данни от програмата, които да попълнят поле ЕГН\ЛНЧ - стринг и да маркирам единият от двата радиобутона;
2. да прочета стойността на картинката със специални символи и да ги въведа в съответното поле.
Това нещо предполагам може да стане по два начина:
1. програмата чете външен екран (напр. от IE) и манипулира данните там;
2. в компонента (T)WebBrowser отварям страницата в екран на програмата и там манипулирам данните.
На потребителят е нужно да натисне бутон <Направи справката>.
Ако смятате, че това е доста сложно и изисква доста време за изпълнение съм готов, да заплатя за направената услуга.
Приемем предложения на адрес: [email protected].
Доктора Ви благодари предварително с най-голямо уважение и ви пожелава Весели празници.
1. прочета данни от страница htm формат, отворена например в IE на MS или в компонента в програмата;
2. въведа данни в полета, които се намират в тази страница.
Става въпрос за следното конкретно действие.
Има база с данни на пациенти на лекар и по ЕГН-то им трябва да се провери осигурителният им здравен статус към момента.
Страницата за проверка е в сайта на НОИ, на адрес [линк]. В нея има три
полета за попълване:
- Въведете ЕГН\ЛНЧ - въвеждат се символи, стойността на ЕГН-то;
- ЕГН \ ЛНЧ - радиобутони - избор, по подразбиране ЕГН;
- Моля, въведете символите: въвеждат се символите от картинката под полето.
Трябва да се направи следното:
1. да изпратя данни от програмата, които да попълнят поле ЕГН\ЛНЧ - стринг и да маркирам единият от двата радиобутона;
2. да прочета стойността на картинката със специални символи и да ги въведа в съответното поле.
Това нещо предполагам може да стане по два начина:
1. програмата чете външен екран (напр. от IE) и манипулира данните там;
2. в компонента (T)WebBrowser отварям страницата в екран на програмата и там манипулирам данните.
На потребителят е нужно да натисне бутон <Направи справката>.
Ако смятате, че това е доста сложно и изисква доста време за изпълнение съм готов, да заплатя за направената услуга.
Приемем предложения на адрес: [email protected].
Доктора Ви благодари предварително с най-голямо уважение и ви пожелава Весели празници.
Два варианта Делфи, но един проблем :)
Значи, ако не беше картинката: [линк])
с цифрите - всичко щеше да е ОК
Метод Post, с параметри egn,typeEGN_pt,typeEGN_pt
мога да ти предложа начин със сокети (семпло и просто, с ХТТП) или с tWebBrowser.
Но картинката е проблем - не, че е много сложно, ама ще отиде ден-два, навярно.
Мога да ти изпратя пробна програмка (сорсове за Д5) на мейла, но ако обещаеш, ае ще постнеш една функция с решението тук (вкл картинката, без връзки с базата данни)
Договорихме ли се?
с цифрите - всичко щеше да е ОК
Метод Post, с параметри egn,typeEGN_pt,typeEGN_pt
мога да ти предложа начин със сокети (семпло и просто, с ХТТП) или с tWebBrowser.
Но картинката е проблем - не, че е много сложно, ама ще отиде ден-два, навярно.
Мога да ти изпратя пробна програмка (сорсове за Д5) на мейла, но ако обещаеш, ае ще постнеш една функция с решението тук (вкл картинката, без връзки с базата данни)
Договорихме ли се?
Редактирано от NikB на
Необработено примерче, семпла процедурка за ХТТП
Необработено примерче, семпла процедурка за ХТТП.
Това подготвя текста, за да се изпрати по обикновен сокет, без tWebBrowser, но поддържа и Get и Post методите.
Има си и сесия, но тази екстра много зависи от съответния сайт
Това подготвя текста, за да се изпрати по обикновен сокет, без tWebBrowser, но поддържа и Get и Post методите.
Има си и сесия, но тази екстра много зависи от съответния сайт
{}procedure TForm_ComPort.GetText;
var
xPar : string;
xHeader : string;
begin
xPar := ComboBoxPar.Text;
// xPar := Str_ToHTML( xPar);
xHeader := 'HTTP/1.1'+cCrLf+
'Host: '+sURL+cCrLf+
'Connection: Keep-Alive'+cCrLf;
if RadioGroupGetPost.ItemIndex=0 then begin
OutHTML := 'GET '+sFile;
if xPar<>'' then begin
OutHTML := OutHTML+'?'+Str_ToHTML( xPar)+cCrLf;
end;
OutHTML := OutHTML+' '+xHeader;
if EditSession.Text<>'' then begin
OutHTML := OutHTML +
'Cookie: PHPSESSID='+EditSession.Text+cCrLf;
end;
end else begin
if RadioGroupGetPost.ItemIndex=1 then begin
OutHTML := 'POST '+sFile+' '+xHeader+
'Content-Type: application/x-www-form-urlencoded'+cCrLf+
'Content-Length: '+IntToStr(length(xPar))+cCrLf;
if EditSession.Text<>'' then begin
OutHTML := OutHTML+
'Cookie: PHPSESSID='+EditSession.Text+cCrLf;
end;
if xPar<>'' then begin
OutHTML := OutHTML+
cCrLf+xPar;
end;
OutHTML := OutHTML+cCrLf;
end;
end;
OutHTML := OutHTML+cCrLf;
end;
Редактирано от NikB на
Re: Два варианта Делфи, но един проблем :)
Ей туй дето ще отнеме 2-3 дена ми е интересно как ще го направиш
Щото и да го направиш, ще сменят шрифта и мацаницата върху текста и ще хапнеш дървото. По-точно - ще го хапне тоя дето ти е платил.
чети и дишай по-леко
чети и дишай по-леко
Ако картинката пречи
Здравейте, благодаря за отговорите и забележката.
Щом смятате, че четенето на тази картинка ще води евентуално някога до проблеми ПРАВИМ СЛЕДНОТО: не обработваме нейната стойност и клиентът е въвежда ръчно. Толкоз. Ако стане да работи на 100% - добре, и при най-малко съмнение - отпада за обработка.
Щом смятате, че четенето на тази картинка ще води евентуално някога до проблеми ПРАВИМ СЛЕДНОТО: не обработваме нейната стойност и клиентът е въвежда ръчно. Толкоз. Ако стане да работи на 100% - добре, и при най-малко съмнение - отпада за обработка.
:) май не съм се изразил точно :)
:) май не съм се изразил точно :), ако от някъде се разбира, че аз ще се занимавам с картинката.
Впрочем, доста е тъпо ЗОК да не дава възможност за автоматична проверка, ако трябва и с пароли да бъде.
Както и да е - идеята на човека по принцип е доста добра, а и твоята забележка е много точна.
Весели празници!
Впрочем, доста е тъпо ЗОК да не дава възможност за автоматична проверка, ако трябва и с пароли да бъде.
Както и да е - идеята на човека по принцип е доста добра, а и твоята забележка е много точна.
Весели празници!
Re: Ако картинката пречи
Ако каптчата (картинката) с кода не пречи, останалите неща са твърде прости.
Слага се един WebBrowser. С метода Navigate (url) му се показва къде да отиде. На събитието OnDocumentComplete се поставят две събития според URL
1) Когато сме повикали страницата за въвеждане на данните.
Самите данни (ЕГН) се попълват чрез DOM на IE, например:
WebBrowser1.OleObject.document.all.item ('egn').value:='1111111111'
Изпащането на данните - чрез метода submit на формата:
WebBrowser1.OleObject.document.FrmReportHealth.submit
2) Когато сме получили страницата с резултата може да анализираме страницата като прост (plain) текст:
WebBrowser1.OleObject.document.body.innerText
Самата каптча е е доволно трудно да се хване, макар че има известен шанс поради некадърното й изпълнение. Ето и алгоритъм за желаещите да се занимават:
1) Забележете че се ползва един шрифт. Изолират се съответните ползвани символи и се подготвят за OCR
2) Мацаниците върху кода се генерират със случаен, но винаги еднакъв цвят, докато самия код е черен. Така че е достатъчно картинката да се вземе и да се изолира само черния цвят в нея
3) Линийките на мацаницата са с дебелина 1 пиксел, а шрифта на кода е векторен и непрекъснат. Т.е. може да се възстановят белите пиксели в черни ако имат 2 съседни черни пиксела
4) След възстановката се прави OCR на кода, попълва се и се изпраща
чети и дишай по-леко
Слага се един WebBrowser. С метода Navigate (url) му се показва къде да отиде. На събитието OnDocumentComplete се поставят две събития според URL
1) Когато сме повикали страницата за въвеждане на данните.
Самите данни (ЕГН) се попълват чрез DOM на IE, например:
WebBrowser1.OleObject.document.all.item ('egn').value:='1111111111'
Изпащането на данните - чрез метода submit на формата:
WebBrowser1.OleObject.document.FrmReportHealth.submit
2) Когато сме получили страницата с резултата може да анализираме страницата като прост (plain) текст:
WebBrowser1.OleObject.document.body.innerText
Самата каптча е е доволно трудно да се хване, макар че има известен шанс поради некадърното й изпълнение. Ето и алгоритъм за желаещите да се занимават:
1) Забележете че се ползва един шрифт. Изолират се съответните ползвани символи и се подготвят за OCR
2) Мацаниците върху кода се генерират със случаен, но винаги еднакъв цвят, докато самия код е черен. Така че е достатъчно картинката да се вземе и да се изолира само черния цвят в нея
3) Линийките на мацаницата са с дебелина 1 пиксел, а шрифта на кода е векторен и непрекъснат. Т.е. може да се възстановят белите пиксели в черни ако имат 2 съседни черни пиксела
4) След възстановката се прави OCR на кода, попълва се и се изпраща
чети и дишай по-леко
Re: През програмата да чета данни от htm страница
Iztegli si tazi programka i vij dolu-gore njakakvo re6enie no kakto razbiram ne e nai dobroto i ne e to4no tova koeto tarsi6, no programkata si ja biva ;-).
Zabelejkata na moderatora e mnogo to4na 4e njama nikakav smisal da se zanimava6 s kartinkata no vij edno re6enie dolu gore na problema, 6te ti vleze v polza ako kam tvojata programka ima ne6to drugo i izpolzva6 zaedno s tova strani4kata za zdravnite osigurovki
Ako vsepak nameri6 re6enie, moljate spodeli v foruma - 6te ni e interesno
Uspeh
Napravi si registracija v stranicata na m-tel, 6tot 6te ti iska
Kato mi se doraboti, sjadam da si po4ina dokato mi mine
Zabelejkata na moderatora e mnogo to4na 4e njama nikakav smisal da se zanimava6 s kartinkata no vij edno re6enie dolu gore na problema, 6te ti vleze v polza ako kam tvojata programka ima ne6to drugo i izpolzva6 zaedno s tova strani4kata za zdravnite osigurovki
Ako vsepak nameri6 re6enie, moljate spodeli v foruma - 6te ni e interesno
Uspeh
Napravi si registracija v stranicata na m-tel, 6tot 6te ti iska
Kato mi se doraboti, sjadam da si po4ina dokato mi mine
Re: През програмата да чета данни от htm страница
Izvinjavam se: [линк]
Весели празници


Kato mi se doraboti, sjadam da si po4ina dokato mi mine
Весели празници
Kato mi se doraboti, sjadam da si po4ina dokato mi mine
Re: През програмата да чета данни от htm страница
Не си губи времето.
Другата седмица или месец, поради някаква причина, ще променя страницата за здравно-осигурителния статус (а това се прави регулярно, особенно когато се открие, че има пропуски в сигурността, и някой отново се опитва да извлича данни), и тогава "умираш"
. Идеята за въвеждане на код-а от картинката, бе за да се прекрати "източването" на данни, от разни "хитреци". Не са малко тези опити
. Все пак тази страница е за даване на справка към осигурените лица, да проверят какъв е статуса на здравно-осигурителните им вноски, дали работодотели и осигурители коректно изпълняват задължението си, и ако не - да съдействат за събираемостта им. Не бе предназначена за ползване в "пакетен" режим и от лекари - те могат да си вземат данните от ЗОК, където ежеседмично, ако не се лъжа, се репликират от НОИ. Но е друга тема какво ги прави ЗОК тези данни. Предложението ми е да звънниш един телефон в НОИ, Главна Дирекция Информационно обслужване и технологии, хората са отзивчиви, и да помолиш за предоставяне на интерфейс - мисля, че има разработен такъв на XML. Е, ще има някакви условия от тях, за ползването на данните, но поне така ще бъдеш сигурен, че програмния ти продукт, ще работи безпроблемно, що се отнася до извличане на данните.. 
Другата седмица или месец, поради някаква причина, ще променя страницата за здравно-осигурителния статус (а това се прави регулярно, особенно когато се открие, че има пропуски в сигурността, и някой отново се опитва да извлича данни), и тогава "умираш"
Re: Ако картинката пречи
Тая картинка е сложена именно с цел да попречи на автоматизираното попълване на страницата. Друг въпрос е, че наистина е направена некадърно и може да се прехване. Но ако я сменят с по-мощен алгоритъм, вече наистина ще оправдае целите си ...
Mixy
Mixy
Цялата работа не е измислена добре
Цялата работа не е измислена добре.
Според мен "лични данни" в тая страница е само връзката между ЕГН и името на човека.
Не виждам проблем да е публично кое ЕГН или кое име (по отделно) са спазили заокона и са се осигурили и кои не са.
Според мен "лични данни" в тая страница е само връзката между ЕГН и името на човека.
Не виждам проблем да е публично кое ЕГН или кое име (по отделно) са спазили заокона и са се осигурили и кои не са.
Re: Цялата работа не е измислена добре
Не е точно така. Това дали спазвам закона или не може да каже само съда.
Освен връзката мегду ЕГН и име, не би трябвало да може да разбереш дали спазвам закона или не по ЕГН или име. Това дали и кога си внасям осигуровките не би трябвало да е публично, преди да имам някакъв наказателен акт. Освен това, всички фирми или организации, които събират и съхраняват лични данни, а това са такива, се регестрират и трябва да спазват правила. Дори, според мен, данните трябва да се дават само с електронен подпис, но понеже не е много разпространен у нас, все пак струва стотина лева годишно, е направено така. В момента е достатъчно да знам ЕГН или име на някой и ще намеря всичко за него: фирми, осигуровки, участие в избори, водени дела, публикации в медиите и др. Да не говорим за разни томболи и игри, които обещават награди, само трябва да се регистрираш
. А ако отворим въпрос за банки и кредити, нещата стават още по- дълбоки. Всеки трупа информация с "лични данни".
Освен връзката мегду ЕГН и име, не би трябвало да може да разбереш дали спазвам закона или не по ЕГН или име. Това дали и кога си внасям осигуровките не би трябвало да е публично, преди да имам някакъв наказателен акт. Освен това, всички фирми или организации, които събират и съхраняват лични данни, а това са такива, се регестрират и трябва да спазват правила. Дори, според мен, данните трябва да се дават само с електронен подпис, но понеже не е много разпространен у нас, все пак струва стотина лева годишно, е направено така. В момента е достатъчно да знам ЕГН или име на някой и ще намеря всичко за него: фирми, осигуровки, участие в избори, водени дела, публикации в медиите и др. Да не говорим за разни томболи и игри, които обещават награди, само трябва да се регистрираш
Re: Цялата работа не е измислена добре
Ех че сте и вие.........
Експерти по право се извъдихте и не знам по още какво... много четете вестници юнаци....
Може и да не е кадърно измислено, както някой каза по-горе - ама толкова може, за толкова пари - това е направено... ако някой е по-кадърен - да го стори.
Закона за личните данни - полицейска история, плюс истерия на журналисти за хонорари - и те трябва нещо да припечелят - статии да пишат... Ако знаете какво е в Западна Европа и Щатите - майка плаче.... срещу социалния Ви номер, такива данни ще изкарат, че тъжно ще Ви стане - дори кога и къде сте били с мацка в мотел през последните 15 години, кога и къде сте се разболяли от хрема, и кога и къде сте си купили бира с кредитната карта....
Както казваше един "янки" - много ми харесва тук в БГ - пълна анархия е - Вие не знаете що е полицейщина... 

Хайде, и прощавайте за отклонението от темата
Може и да не е кадърно измислено, както някой каза по-горе - ама толкова може, за толкова пари - това е направено... ако някой е по-кадърен - да го стори.
Закона за личните данни - полицейска история, плюс истерия на журналисти за хонорари - и те трябва нещо да припечелят - статии да пишат... Ако знаете какво е в Западна Европа и Щатите - майка плаче.... срещу социалния Ви номер, такива данни ще изкарат, че тъжно ще Ви стане - дори кога и къде сте били с мацка в мотел през последните 15 години, кога и къде сте се разболяли от хрема, и кога и къде сте си купили бира с кредитната карта....
Хайде, и прощавайте за отклонението от темата
Mai se e zagubilo edno ot mneniqta mi
Mai se e zagubilo edno ot mneniqta mi
Тоя дир съвсем се скапа
По твоята логика моята винетка на колата или знакът за "Гражданска отговорност" на предното стъкло са нарушение на личните данни.
Ами това с осигуривките е същото, но вместо лепенка (не е лоша идея :) - го пише в мрежата :)
Тоя дир съвсем се скапа
По твоята логика моята винетка на колата или знакът за "Гражданска отговорност" на предното стъкло са нарушение на личните данни.
Ами това с осигуривките е същото, но вместо лепенка (не е лоша идея :) - го пише в мрежата :)
Re: Цялата работа не е измислена добре
Мда, vido може да не е експерт по право, но като знам къде (и какво) работи мнението му в случая е твърде меродавно.
Особенно до това какви данни може да ти изкара и по какво
Колкото до полицейщината - ако имах време и пари за губене би ми било интересно да докажа в съд с пример как НОИ пази личните данни на едно кило народ. И ми е много интересно как ще звучи обяснение от сорта - " ама толкова може, за толкова пари - това е направено".
В случая обаче критиката ми е изцяло градивна, и ако проблема е само в "моженето" като модератор на клуб ASP с удоволствие ще посоча примери за по-ефективна каптча.
чети и дишай по-леко
Особенно до това какви данни може да ти изкара и по какво
Колкото до полицейщината - ако имах време и пари за губене би ми било интересно да докажа в съд с пример как НОИ пази личните данни на едно кило народ. И ми е много интересно как ще звучи обяснение от сорта - " ама толкова може, за толкова пари - това е направено".
В случая обаче критиката ми е изцяло градивна, и ако проблема е само в "моженето" като модератор на клуб ASP с удоволствие ще посоча примери за по-ефективна каптча.
чети и дишай по-леко
Re: Цялата работа не е измислена добре
Хич не зная кой къде и какво работи, и как използва (чети злоупотребява с достъпа си до ...) данните, но можеш да бъдеш абсолютно спокоен, че НОИ преди да публикува каквато и да е информация и данни, е получила съответните консултации и потвърждаване за ненарушаване на действащите закони от Комисията за защита на личните данни. Все пак това е Национален Осигурителен Институт, а не плод-зеленчук, колкото и да е очудващо за някой
Най-лесно е да се критикува нещо което работи - много ми е интересно например, защо никой не критикува информационните решения и софтуера на НЗОК - ами защото няма такъв
А и е добре да се прочете "ЗАКОН за защита на личните данни " - черпя минимум по бира, ако някой ми каже кой точно член, алинея, параграф, точки и или запетая, се нарушава с публикуването на толкова много коментираната информация...


А и е добре да се прочете "ЗАКОН за защита на личните данни " - черпя минимум по бира, ако някой ми каже кой точно член, алинея, параграф, точки и или запетая, се нарушава с публикуването на толкова много коментираната информация...
Re: Цялата работа не е измислена добре
Ами аз не твърдя че не работи, а просто че не работи достатъчно добре.
И за да не съм голословен, пуснах един гугъл и изнамерих купища добри примери. Ето един, който е достатъчно прост и достатъчно добър:
[линк]
Колкото до подмятанията за разни злоупотреби - когато демонстрираш поне 20% от уменията на vido за достъп и защита на данни, ще декларирам официално като данъкоплатец че съм доволен от начина, по които НОИ харчи моите данъци за заплати на ИТ специалисти.
И за да не съм голословен, пуснах един гугъл и изнамерих купища добри примери. Ето един, който е достатъчно прост и достатъчно добър:
[линк]
Колкото до подмятанията за разни злоупотреби - когато демонстрираш поне 20% от уменията на vido за достъп и защита на данни, ще декларирам официално като данъкоплатец че съм доволен от начина, по които НОИ харчи моите данъци за заплати на ИТ специалисти.
Редактирано от Pechenia на
Re: Цялата работа не е измислена добре
Да е живо и здраво момчето - не познавам работата му, и не твърдя че не си я разбира. Колкото до 20-те %,
, не мисля, че точно тук е мястото да си "мерим....."
Може да си напълно спокоен за данъците ти които отиват към НОИ - хората са си ги изработили... Аз не работя там, но поне това което зная, ми е достатъчно за да кажа, че това е може би единствената българска държавна институция, където ИТ нещата са на приемливо ниво, и може би единствената организация, в която нещата работят, и парите не се "усвояват"
Другаде са проблемите...
Що се отнася до това което е като линк - ок - но това е решение използващо Office компоненти
Красиво е, но нито един уважаващ себе си програмист, пишещ ASP-страници, не би инсталирал нещо свързано с Office и десктоп приложения, на production server
Pure ASP Only!
Що се отнася до това което е като линк - ок - но това е решение използващо Office компоненти