Herhangi Bir Ekstra Paket Gerektirmeksizin Uzak Bir NTP Sunucusundan Zaman Bilgisini çekmek Için aşağıdaki Gibi Bir Kod Yazmanız Yetreli Olmaktadır.
Aşağıdaki örnekte ulakbim.gov.tr ntp2 sunucusundan zaman bilgisi çekilmektedir.
#!/usr/bin/env python from socket import AF_INET, SOCK_DGRAM import sys, socket import struct, time def getNTPTime(host = "ntp2.ulakbim.gov.tr"): port = 123 buf = 1024 address = (host,port) msg = '\x1b' + 47 * '\0' TIME1970 = 2208988800 # 1970-01-01 00:00:00 client = socket.socket( AF_INET, SOCK_DGRAM) client.sendto(msg.encode('utf-8'), address) msg, address = client.recvfrom( buf ) t = struct.unpack( "!12I", msg )[10] t -= TIME1970 return time.ctime(t).replace(" "," ") if __name__ == "__main__": print(getNTPTime())
Оригинал: “https://dev.to/aciklab/ntp-sunucusundan-zaman-bilgisi-cekebilme-5fd6”