16-11-2020, Saat: 08:10
excel VBA projesiyle selenium eklentisi kullanılarak e-devletten HES kodu sorgulanabilir
HES Kodu Sorgulaması hakkında
|
16-11-2020, Saat: 08:10
excel VBA projesiyle selenium eklentisi kullanılarak e-devletten HES kodu sorgulanabilir
16-11-2020, Saat: 10:07
(Son Düzenleme: 16-11-2020, Saat: 10:08, Düzenleyen: Halil Han BADEM.)
@r3n4m3 isteği üzerine bir uygulama geliştirmiştim eğer işinize yarayacaksa paylaşayım.
Not: Lütfen eğer istiyorsanız özelden yazmayınız direkt olarak belirtiniz; müsait olunca konu açarak yardımcı olayım.
16-11-2020, Saat: 11:33
(16-11-2020, Saat: 10:07)Halil Han BADEM Adlı Kullanıcıdan Alıntı: @r3n4m3 isteği üzerine bir uygulama geliştirmiştim eğer işinize yarayacaksa paylaşayım. @Halil Han BADEM hocam müsait olunca ben alabilirim çok teşekkür ederim.
İmkanın sınırı, imkansızın yanıbaşındadır. Denemeden bilemezsin.
16-11-2020, Saat: 14:39
(Son Düzenleme: 16-11-2020, Saat: 15:01, Düzenleyen: Halil Han BADEM.)
(16-11-2020, Saat: 11:33)bydelphi Adlı Kullanıcıdan Alıntı:(16-11-2020, Saat: 10:07)Halil Han BADEM Adlı Kullanıcıdan Alıntı: @r3n4m3 isteği üzerine bir uygulama geliştirmiştim eğer işinize yarayacaksa paylaşayım. Birkaç yerini optimize etmem gerek. Excel'i yüklerken çok uzun sürüyor. Şimdi onu ms hızına indirdim. Excel'i import edince tek tek sorgulama yapıp yanına sonucu yazıyor. Sonra isterseniz excel, csv veya xml olarak çıktı alabilirsiniz. Giriş işlemi için kişisel e devlet bilgilerinizi girmeniz gerekiyor. İnternete (3. şahıs) herhangi bir veri göndermiyor. Güvenlik için sniff yapabilirsiniz. Paylaşım linkini projeyi bitirince göndereceğim. (Source kodu henüz göndermeyeceğim.)
16-11-2020, Saat: 15:01
@Halil Han BADEM bir öneri de bulunmak istiyorum.
"Eğer istenirse paylaşabilirim" demişsin. Bu şekilde genel kullanıma açacağın ve karmaşık olmayan küçük projelerde önerim Delphi ile gelen baz componentleri kullanmalısın. Bu şekilde projeyi kullanmak isteyen veya değerlendirmek isteyen daha fazla kullanıcıya da kolaylık ve erişim sağlamış olursun. Bu durumda elinde hali hazırda DevEx kurulu olmayan kullanıcı grubu da değerlendirmiş olur.
PostgreSQL - Linux - Delphi, Poliüretan
16-11-2020, Saat: 15:04
(16-11-2020, Saat: 15:01)3ddark Adlı Kullanıcıdan Alıntı: @Halil Han BADEM bir öneri de bulunmak istiyorum. Tabii ki; görünüm bakımından hoş olsun diye devex kullandım. Bunu sadece Delphi IDE ile gelen componentler ile de yapabilirim. Zaten ilk aşamada exeyi dağıtacağım. Kaynak kodda biraz karmaşık değişiklikler yapmak zorunda kalacağım. Exe ile geçici sorunlar çözülsün; source için bu hafta içi veya haftasonu paylaşırım zaten. İsteyen istediği gibi kullansın. Exe için isteyen olursa ibaresini kullandım.
16-11-2020, Saat: 17:11
(16-11-2020, Saat: 10:07)Halil Han BADEM Adlı Kullanıcıdan Alıntı: @r3n4m3 isteği üzerine bir uygulama geliştirmiştim eğer işinize yarayacaksa paylaşayım. Evet Halil yardımcı oldu geçici lazımdı ve bu çözüm ile bizi kurtardı . Bunu artık bıraktım çünkü api geldi ve saniyelik olarka 500 er kayit yapabiliyoruz. Fakat apiye sahip olmayanlar bu uygulama yardımcı olabilir. Kolay gelsin
16-11-2020, Saat: 23:41
@Halil Han BADEM Proje bitince gönderirmisiniz.
İyi çalışmalar.
17-11-2020, Saat: 10:11
(17-11-2020, Saat: 08:50)Halil Han BADEM Adlı Kullanıcıdan Alıntı: Dün işten eve geçince exeyi düzeltip atacaktım fakat halsizlik ve baş ağrısından dolayı bilgisayara geçemedim. Bu yüzden kusura bakmayın. Bugün mesai arasında veya akşamında exeyi paylaşayım sizlerle. Teşekkürler ve Elinize sağlık.
17-11-2020, Saat: 14:26
@Halil Han BADEM'i paylaşımları için takdir ediyor ve desteği için teşekkürlerimi sunuyorum.
Bu paylaşımda kendisi de aslında hak verecektir, E-Devlet erişim bilgilerinin kapalı EXE içerisinde sunmak çok ama çok tehlikelidir. E-Devlet bilgilerimiz kişiye özel olduğundan yasal olarak da bu tip paylaşımları tasvip etmiyorum. Önce bunun altını çizeyim. Paylaşım yaptığım ve araştırdığım konu tümüyle, "Sağlık Bakanlığı HES kodu sorgulaması" üzerinden - KİŞİSEL HERHANGİ BİR VERİ GÖNDERMEKSİZİN - HES kodu sorgusu üzerine idi. Sağlık Bakanlığı bu takibi TCKimlik no üzerinden yapabilecek iken, HES kodu gibi bir çözüme başvurmasının sebeplerinden birisi de bu olmalı diye düşünüyorum. Bu amaç kişilerin TCKimlik bilgilerini dahi karşı tarafa vermesinin önüne geçilmesi içindir. Çözüme ilişkin paylaşımım ise şu şekilde: Sadece kendi projelerinizde kendinizi yazacağı kod olarak değerlendirmenizi salık veririm. Üçüncü parti kullanımlar tümüyle hukuksuzdur. Bu yapı forumda da sıkça paylaştığımız basit birer HTML parse işlemidir. Not: Salt yapıyı veriyorum, kontroller ile donatılabilir. function HesKoduByEDevlet( TCKimlikNo, EDevletParola: String; HESKoduListesi: String; aWebBrowser: TWebBrowser ): String; procedure WaitFor( aKey: String ); var Content : String; begin Content := ''; while (Pos( aKey, Content ) = 0) do begin try Content := aWebBrowser.OleObject.Document.Body.InnerHtml; except end; Sleep(100); Application.ProcessMessages; end; end; Const URL_EDevletLogin = 'https://giris.turkiye.gov.tr/Giris/e-Devlet-Sifresi'; URL_HesKodu = 'https://www.turkiye.gov.tr/saglik-bakanligi-hes-kodu-sorgulama'; var HESContent : String; aList : TStringList; aIdx : Integer; begin aList := TStringList.Create; aList.Text := HESKoduListesi; try // Login İşlemi // aWebBrowser.Navigate( URL_EDevletLogin ); while aWebBrowser.ReadyState <> READYSTATE_COMPLETE do begin Sleep(100); Application.ProcessMessages; end; aWebBrowser.OleObject.Document.GetElementById('tridField').Value := TCKimlikNo; aWebBrowser.OleObject.Document.GetElementById('egpField').Value := EDevletParola; aWebBrowser.OleObject.Document.getElementsByName('submitButton').item(0).click; WaitFor( 'Kullanıcı Menüsü' ); for aIdx := 0 to aList.Count-1 do begin // HES Kodu Giriş Sayfasına Geçiş İşlemi // aWebBrowser.Navigate( URL_HesKodu ); while aWebBrowser.ReadyState <> READYSTATE_COMPLETE do begin Sleep(100); Application.ProcessMessages; end; // HES Kodu Sorgulama İşlemi // aWebBrowser.OleObject.Document.GetElementById('hes_kodu').Value := aList[aIdx]; aWebBrowser.OleObject.Document.forms.item(1).Submit; WaitFor( '>Yeni Sorgu<' ); // HES Kodu Sorgu Sonucu Parse İşlemi // HESContent := aWebBrowser.OleObject.Document.Body.InnerHtml; System.Delete( HESContent, 1, Pos('>Yeni Sorgu<', HESContent) + Length('>Yeni Sorgu<')-1 ); if Pos('>Sağlık Bilgileri<', HESContent ) > 0 then begin // Kod Geçerli Detay Bilgi System.Delete( HESContent, 1, Pos('>Risk Durumu<', HESContent) + Length('>Risk Durumu<')-1 ); System.Delete( HESContent, 1, Pos('<dd>', HESContent) + Length('<dd>')-1 ); end else begin // Kod Geçersiz mesajı döndürelim.. System.Delete( HESContent, 1, Pos('<span>', HESContent) + Length('<span>')-1 ); end; aList[aIdx] := aList[aIdx] + '|' + Copy( HESContent, 1, Pos('<', HESContent)-1 ); end; Result := aList.Text; finally aList.Free; end; end; Örnek kullanım : procedure TForm1.BitBtn1Click(Sender: TObject); var aListe : TStringList; begin aListe := TStringList.Create; try aListe.Add( 'N3X9-5127-12' ); aListe.Add( 'R7T1-7513-19' ); // aListe.Text := HesKoduByEDevlet( 'tckimlik_numaranız', 'edevlet_parolanız', aListe.Text, WebBrowser1 ); Showmessage( aListe.Text ); finally aListe.Free; end; end;
Saygılarımla
Muharrem ARMAN |
« Önceki Konu | Sonraki Konu »
|
Konu ile Alakalı Benzer Konular | |||||
Konular | Yazar | Yorumlar | Okunma | Son Yorum | |
timer kullanimi hakkinda | sadikacar60 | 11 | 506 |
28-04-2024, Saat: 19:33 Son Yorum: sadikacar60 |
|
or komutu hakkinda | sadikacar60 | 1 | 161 |
12-04-2024, Saat: 17:17 Son Yorum: sso |
|
AES Şifreleme Hakkında | tmrksmt | 18 | 1.793 |
14-02-2024, Saat: 10:42 Son Yorum: tmrksmt |
|
TDictionary kullanımım hakkında | yhackup | 3 | 506 |
09-02-2024, Saat: 15:58 Son Yorum: SimaWB |
|
TfrxReport Rapor dizaynı hakkında | yhackup | 2 | 318 |
24-01-2024, Saat: 11:35 Son Yorum: yhackup |