如何从 omegle 上的 ip 返回地理数据?

Posted

技术标签:

【中文标题】如何从 omegle 上的 ip 返回地理数据?【英文标题】:How to get geo data as a return from an ip on omegle? 【发布时间】:2020-11-20 14:28:55 【问题描述】:
    每当我打开一个新的 Omegle 视频聊天时,它会在我从 chrome 控制台运行代码时返回他们的 IP必须单独查找。
window.oRTCPeerConnection  = window.oRTCPeerConnection || window.RTCPeerConnection

window.RTCPeerConnection = function(...args) 
 const pc = new window.oRTCPeerConnection(...args)

pc.oaddIceCandidate = pc.addIceCandidate

pc.addIceCandidate = function(iceCandidate, ...rest) 
 const fields = iceCandidate.candidate.split(' ')

if (fields[7] === 'srflx') 
console.log('IP Address:', fields[4])

return pc.oaddIceCandidate(iceCandidate, ...rest)



return pc

【问题讨论】:

【参考方案1】:

这可能是您正在寻找的:

window.oRTCPeerConnection = window.oRTCPeerConnection || window.RTCPeerConnection

window.RTCPeerConnection = function(...args) 
    const pc = new window.oRTCPeerConnection(...args)

    pc.oaddIceCandidate = pc.addIceCandidate

    pc.addIceCandidate = function(iceCandidate, ...rest) 
        const fields = iceCandidate.candidate.split(' ')

        if (fields[7] === 'srflx') 
            console.log('IP Address:', fields[4]);
            var xmlHttp = new XMLHttpRequest();
            xmlHttp.onreadystatechange = function()  
                if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
                    console.log(xmlHttp.responseText);
            
            xmlHttp.open("GET", "https://ipinfo.io/" + fields[4] + "/json" , true); // true for asynchronous
            xmlHttp.send(null);
        

        return pc.oaddIceCandidate(iceCandidate, ...rest)
    

    return pc

我为 JSON 结果包含了一个 GET,该结果使用问题脚本中的字段 [4] IP。对我来说就像一个魅力。

【讨论】:

【参考方案2】:

试试这个 API,它会返回很多关于任何 IP 的地理信息,你需要做的就是给它 IP

http://extreme-ip-lookup.com/json/1.3.3.7

只需对此链接发出获取请求并将 1.3.3.7 更改为任何 IP。

您可以执行如下获取请求:

url = "http://extreme-ip-lookup.com/json/" + fields[4]
function httpGet(Url)

   var xmlHttp = new XMLHttpRequest();
   xmlHttp.open( "GET", Url, false ); // false for synchronous request
   xmlHttp.send( null );
   return xmlHttp.responseText;

geographic_info = httpGet(url)
console.log(geographic_info)

【讨论】:

你能给我一个例子,说明我如何将它添加到我的脚本中,因为这就是我无法让它工作的原因 我不太喜欢 JS,所以我能帮助你的是你需要用我给你的 URL 做一个 get 请求,并用 字段替换 IP“1.3.3.7” [4] 然后执行 console.log 以获得您将得到的响应【参考方案3】:

在https://ipinfo.io 创建一个免费帐户。您每月可获得 50,000 个免费请求。然后像这样解析json:

const request = async () => 
  const response = await fetch('https://ipinfo.io/' + StrangerIpGoesHere + '? 
token=yourIpinfoTokenGoesHere');
  const data = await response.json();
  var strangerCity = data.city;
  var strangerState = data.region;
  var strangerCountry = data.country;

【讨论】:

以上是关于如何从 omegle 上的 ip 返回地理数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何准确地从 Eircode/邮政编码获取地理位置

如何从谷歌地图地理编码返回地址类型?

如何从 IP 地址获知地理位置

地理位置、准确性和仿射变换:是啥导致我从纬度/经度位置不准确地转换为图像上的点

如何配对用户? (如 Omegle.com)

JavaScript如何从IP地址获取地理位置? [复制]