对于我的MFC / C ++非托管时间限制软件需求,我想从互联网上获取GMT / UTC时间戳(而不是依赖可以轻松更改的PC时钟时间)。
我已经考虑过从http://www.timeanddate.com/worldclock/解析“当前UTC”......行(我认为端口80比其他端口更容易打开),但我不知道这个URL有多可靠。 ..
请与我分享您的利弊或不同的想法。
感谢。
答案 0 :(得分:7)
使用SNTP(简单网络时间协议)从互联网原子钟获取时间。
网上有几个图书馆 - here's one for MFC on codeproject。
答案 1 :(得分:3)
看起来可行,这已经广泛完成了。
如果网站决定更改其HTML,则timeanddate.com的抓取可能会中断。即使HTML中的细微变化也会破坏你的刮刀。
我建议你使用像earthtools这样的网络服务。您必须在URL中传递必要的参数(纬度和经度等),并且响应是您可以轻松解析的XML。
答案 2 :(得分:1)
让您的计划更好,而不是浪费时间来保护它。您可以做的任何此类保护都将很容易被规避。如果您坚持,可以在服务器上运行该软件,因为这是实际执行此类限制的唯一方法。
答案 3 :(得分:1)
嗯,总结:
我的应用程序包含一个脱机数据库,每天从Intranet更新一次
如果它没有在一周内更新,我想粉碎这个数据库,这就是为什么我想尝试降低某人只是向后改变PC时钟的可能性。
我充分意识到有些高级用户可能会阻止我的应用程序以20种不同的方式获取互联网时间,但我正在尽力在软件中做到最好(硬件解决方案,例如加密狗对我来说太过分了。)
由于我想要一个端口80解决方案,我将采用codaddict的解决方案(earthtools),否则将采样PC时钟。
感谢所有回复!
答案 4 :(得分:0)
嗯。有趣。您基本上尝试将Internet用作加密狗。
如果你真的需要对你的软件提供这种“保护”,你或许应该考虑使用真正的时钟加入一个真正的加密狗,比如HASP。当然,任何解决方案对于一个有反汇编的体面黑客来说都是微不足道的。
一般来说,我认为最好先打开你的软件,然后尝试使用修复程序,mod和支持。
答案 5 :(得分:0)
答案在您的问题中提出......转到https://www.timeanddate.com/并查找" API",您会找到以下页面: https://www.timeanddate.com/services/api/ 详细说明:https://services.timeanddate.com/api/packages/time.html 使用他们的API发送请求并接收XML或JSON响应。它每年花费150美元,但这是专业的方式,因为你的目的是为你的软件收费它是有道理的。