×

注意!页面内容来自https://github.com/emrgncr/edevlet-belgedogrula-api,本站不储存任何内容,为了更好的阅读体验进行在线解析,若有广告出现,请及时反馈。若您觉得侵犯了您的利益,请通知我们进行删除,然后访问 原网页

Skip to content
<> /* Override primer focus outline color for marketing header dropdown links for better contrast */ [data-color-mode="light"] .HeaderMenu-dropdown-link:focus-visible, [data-color-mode="light"] .HeaderMenu-trailing-link a:focus-visible { outline-color: var(--color-accent-fg); }

emrgncr/edevlet-belgedogrula-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

edevlet-belgedogrula-api

e-devlet api'ından belge doğrulayan ufak bir python scripti.

e-devlete giriş yapmadan e-devlet belgelerini doğrulamak için (örnek olarak adli sicil kaydıöğrenci belgesi..) e-devlet api'ını kullanır.

Özellikleri

  • Barkod numarası ve TC kimlik numarası ile belge doğrulama
  • Doğrulanan belgenin bir kopyasını PDF olarak kaydetme
  • QR kodundan barkod numarası ve TC kimlik numarası üretme
  • QR kodundan belge doğrulama
  • QR kodundan doğrulanmış belgenin kopyasını oluşturma
  • PDF halindeki belgeyi doğrulama

Açıklama

e-devlet api'ından bilgi sorgulamak için https://m.turkiye.gov.tr/api.php 'den sorgu yapıyor. Sorgu parametreleri olarak p=belge-dogrulama ve qr=barkod:[belgenin barkod numarası];tckn:[tc kimlik numarası]; kullanıyor. Her şeyi birleştirdikten sonra request-html kütüphanesini kullanarak

from request-html import HTMLSession
import base64

url = f"https://m.turkiye.gov.tr"/api.php?p=belge-dogrulama&qr=barkod:{barkod};tckn:{tckn};"
session = HTMLSession()
r = session.get(url)

veriyi çekiyor. e-devlet api'ı bize bir on gönderiyor. Gönderilen on'un formatı eğer doğrulama başarısız ise:

{'TURKIYESESSIONID': 'mnm1do6t32m7nkbidni30p58is''kuyrukMu': 0'return': False'login': 0'messageArr': ['Lütfen geçerli bir kimlik numarası giriniz.']}

başarılı ise:

{"TURKIYESESSIONID":"u8lhp9h48rdgcbenj86i4h693k","kuyrukMu":0,"return":true,"login":0,"data":{"kimlikNo":"","verildigiKurum":null,"olusturulmaTarihi":null,"barkodluBelge":"UZUN BASE64 KODLANMIS STRING","dynamic":1,"kod":0},"messageArr":[]}

şeklinde. "barkodluBelge" kısmına base64 encodelanmış uzun bir string yer alıyor ve o stringi decode ettiğimizde elimize belgenin bir pdf kopyası geçiyor.

onFile = r.on()
if onFile['return'] == False:
    #doğrulama başarısız
    print(onFile['messageArr'])
else:
	#burda belgenin pdf halini alıyoruz
	data = onFile['data']
	encodedData = data['barkodluBelge']
	#decode etmek için base64 kütüphanesini kullanıyoruz
	decodedData = base64.b64decode(encodedData)
	#dosyayı pdf olarak kaydediyoruz
	f = open("belge.pdf","wb")
	f.write(decodedData)
	f.close()

About

e-devlet api'ından belge doğrulayan ufak bir python scripti

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages