在某些特殊应用中,需要与特定网站的服务器时间保持一致,才能更准确地交互。
如何获取服务器?
利用网络请求和响应。响应头中含有服务器的date信息,只需稍加调整就能获取服务器时间。上代码:
import http.client
import time
def get_webserver_datetime(website):
try:
conn = http.client.HTTPConnection(website)
conn.request("GET", "/")
# 获取响应
rsp = conn.getresponse()
# 获取http头date部分
timestamp = rsp.getheader('date')
# 将GMT时间转换成北京时间
ltime = time.strptime(timestamp[5:25], "%d %b %Y %H:%M:%S")
bjtime = time.localtime(time.mktime(ltime) + 8 * 60 * 60)
date = "%u-%02u-%02u" % (bjtime.tm_year, bjtime.tm_mon, bjtime.tm_mday)
tm = "%02u:%02u:%02u" % (bjtime.tm_hour, bjtime.tm_min, bjtime.tm_sec)
dt=date+" "+tm
return dt
except:
return None
if __name__=='__main__':
print(get_webserver_datetime('www.baidu.com'))