win32 api根据wifi和IP地址对笔记本电脑进行地理定位
Posted
技术标签:
【中文标题】win32 api根据wifi和IP地址对笔记本电脑进行地理定位【英文标题】:win32 api to geolocate laptop based on wifi and IP address 【发布时间】:2015-04-29 13:21:52 【问题描述】:我们如何获取笔记本电脑的 IP 地址并进行地理定位或查找纬度和经度?以及我们如何使用 WiFi 连接对笔记本电脑进行地理定位? 我需要在不使用第三方库的情况下在 c++/COM 中实现它。 请提出一些建议。
【问题讨论】:
建立一个包含过去、现在和未来所有 WiFi 热点的数据库,并将它们映射到地理位置。查找 WiFi 热点标识(如果已连接)并查询数据库。哇,这很容易。 如果您知道您的互联网网关的公共IP地址,您可以使用freegeoip.net或类似的web api查询您的大概位置。你不需要 COM,只需要 WinHttp 库。 【参考方案1】:我们如何获取笔记本电脑的 IP 地址
使用GetAdaptersInfo()
或GetAdaptersAddresses()
。
请记住,笔记本电脑可能同时连接到多个网络,因此会分配多个 IP 地址。如果笔记本电脑连接到网络/WiFi 路由器,它只会从路由器的 LAN 端获得 IP 地址,而不是 Internet 端。您必须事先知道路由器的公网 IP,或者使用 uPNP/SNMP 查询路由器,或者使用像 http://iplookup.flashfxp.com 这样的外部服务。
并进行地理定位或查找纬度和经度?
Windows 7 及更高版本具有Sensor API,用于与各种传感器(包括 GPS 设备)进行交互。但是假设笔记本电脑没有安装 GPS,那么您必须知道您的 Internet IP,然后您才能使用外部服务执行位置查找,例如 FreeGeoIP like S.T.建议。
【讨论】:
以上是关于win32 api根据wifi和IP地址对笔记本电脑进行地理定位的主要内容,如果未能解决你的问题,请参考以下文章