如何获取小程序客户端的IP地址?

在小程序中,可以通过请求微信自信授权,而获取用户的地理位置信息,返回的数据为经纬度数值。但是如果我们在不请求用户位置权限的情况下,可不可以得到用户的位置信息呢?例如我想知道用户所在的国家和城市。

wx.getUserInfo获取位置信息

这种方法是不完全正确的,为什么呢?

微信端在返回用户信息的时候,可以得到小程序客户端的Country和City信息,但是这个国家和城市信息是微信里面用户填写的,而不是用户真实的地理位置,例如很多人会把自己的位置填写成国外的位置,而国内用户出国期间,他们的用户信息是不会及时更新的。

获取用户的IP地址以及位置信息

有一些service提供了返回客户端的IP地址以及国家/地区以及城市的信息。这里需要特别注意的是:如果是真实的小程序产品,你需要确定,那个网站是备案过的,并且是通过HTTPS协议的。否在即使调试过程中可用,但是实际上发布后是无法正常和server通信的。以下代码只保证在调试代码中有效:

wx.request({
    url: 'https://freegeoip.net/json/',
    success: function (res) {
    console.log(res)
}
})

欢迎留言讨论这个问题。

By Code问答

发表评论

电子邮件地址不会被公开。 必填项已用*标注

39 − 34 =