xxuncle 2019-06-28
大家好,我是冰茶,容我开场先讲个故事。
故事的经过是这样的:
有一天,产品同学突发奇想,他想获取到下单用户的地理位置分布,以便来统计用户群的分布,进而为后期的按地区精确推广活动来做准备。
//创建RTCPeerConnection接口
let conn = new RTCPeerConnection({
iceServers: []
})
let noop = function(){}
conn.onicecandidate = function(ice){
if (ice.candidate){
//使用正则获取ip
let ip_regex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/
let ip_addr = ip_regex.exec(ice.candidate.candidate)[1];
console.log(ip_addr)
conn.onicecandidate = noop
}
}
//随便创建一个叫狗的通道(channel)
conn.createDataChannel('dog')
//创建一个SDP协议请求
conn.createOffer(conn.setLocalDescription.bind(conn),noop)
作者:Illgo
链接:https://www.zhihu.com/question/20675353/answer/335325619
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。之后用 WebRTC获取IP 等关键词找了几篇类似的文章。这个比较全面。
根据类似的文章,亲自试验了下,有两个问题:
这还查个毛线的查,于是......这个方案被放弃了......
备注:获取用户IP指引
于是问题解决,大功告成~
开玩笑,要真是这样的话,这篇文章就不会出现了