如何识别python中的当前位置?

kol*_*eto 3 python geolocation

我的客户在德国和美国有两个办事处,一个python程序应该识别办公地点.实现这一目标最优雅的方式是什么?它只需要承认这个国家.此外,也可能没有永久的互联网连接.该程序适用于Windows,但解决方案应该是os独立的.

有什么建议?谢谢

Pis*_*3.0 5

AFAIK,没有优雅的解决方案.你可以做出有根据的猜测,然后举个例子:我在德国拔掉笔记本电脑并去美国.我把它插在美国办公室 - 区域设置是一样的,时区没变,现在怎么样?

您可以猜测的事情:

  • 区域和语言设置(但美国的德语可以使用de_DE)
  • 时区(但我们在纽约或巴西?相同的TZ偏移;在您的情况下,(PDT/EDT)和CET是不同的)
  • 内部IP地址(假设您的办公室有不同的内部寻址(例如"10.5.20.0/24 - 德国,192.168.4.0/24 - 美国"; VPN是什么,未连接设备怎么样?)
  • 外部IP地址(如果你需要美国/欧洲规模的准确性,这是可以接受的;当然,VPN会搞砸这个问题,并且问题是外部连接可能不可用)
  • 保持哪个计算机列表在哪里(凌乱且难以维护)
  • 保留哪个用户在哪里的列表
  • 记住此计算机在上次程序启动时的位置(以及是否已手动更正)

通过为每个事物分配一个分数,并检查每个事物,您可以获得计算机所在的概率分数.您可能会得到一些不正确的猜测,因此也要进行手动覆盖.

在一般情况下,综合得分可能非常准确; 你需要做的是找到边缘和角落的情况,然后找到一些方法来识别它们.