我正在尝试超出服务器的时间。
首先,我尝试过:
string URL = "http://google.com";
System.Net.HttpWebRequest rq2 = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(URL);
System.Net.HttpWebResponse res2 = (System.Net.HttpWebResponse)rq2.GetResponse();
DateTime xd = rq2.Date;
但这很慢,而且不包含毫秒。
然后我发现,我实际上可以从目标服务器使用的 ntp 服务器获取服务器时间。
InternetTime.SNTPClient sntp = new InternetTime.SNTPClient("time-b.timefreq.bldrdoc.gov");
sntp.Connect(false); // true to update local client clock
DateTime dt = sntp.DestinationTimestamp.AddMilliseconds(sntp.LocalClockOffset);
string timeStampNow = dt.ToString("dd/MM/yyyy HH:mm:ss.fff");
它工作得很好,但是,我不确定我的目标服务器是否使用 ntp 服务器,如果是,我不知道如何找到它。我花了很多时间研究,所以我决定在这里问。
编辑2:我无权访问该服务器(除了访问它的 www 页面),我知道该服务器正在使用Microsoft-IIS/7.5 web server。