首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编辑本地ip地址

如何编辑本地ip地址
EN

Stack Overflow用户
提问于 2016-09-11 16:50:22
回答 2查看 521关注 0票数 0

通过使用下面的代码,我能够获得本地IP.but,我必须编辑此IP地址,使其以类似于(x.200 )的模式出现。前三个二进制八位数应与每个路由器相同,但最后一个八位字节应为常量(200)。我们将非常感谢您的回复。

代码语言:javascript
复制
var findIP = new Promise(r => {
  var w = window,
    a = new(w.RTCPeerConnection || w.mozRTCPeerConnection || w.webkitRTCPeerConnection)({ iceServers: [] }),
    b = () => {};
  a.createDataChannel("");
  a.createOffer(c => a.setLocalDescription(c, b, b), b);
  a.onicecandidate = c => {
    try { c.candidate.candidate.match(/([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g).forEach(r) } catch (e) {}
  };
});

/*Usage example*/
findIP.then(ip => document.write('your ip: ', ip)).catch(e => console.error(e))

来源:How to get client's IP address using javascript only?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-11 17:04:19

有许多方法可以实现这一点。如果你只在你的初始函数中得到前3个八进制值,那就更好了。

但是下面的代码也可以完成这项工作:

代码语言:javascript
复制
var findIP = new Promise(r=>{var w=window,a=new (w.RTCPeerConnection||w.mozRTCPeerConnection||w.webkitRTCPeerConnection)({iceServers:[]}),b=()=>{};a.createDataChannel("");a.createOffer(c=>a.setLocalDescription(c,b,b),b);a.onicecandidate=c=>{try{c.candidate.candidate.match(/([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g).forEach(r)}catch(e){}}})

/*Usage example*/
findIP.then(ip => console.log('your ip: ', ip.split('.')[0]+'.'+ip.split('.')[1]+'.'+ip.split('.')[2]+'.200')).catch(e => console.error(e))

编辑:您可以使用webrtc更改实际代码,以提供所需的ip u,如下所示:

代码语言:javascript
复制
var findIP = new Promise(r=>{var w=window,a=new (w.RTCPeerConnection||w.mozRTCPeerConnection||w.webkitRTCPeerConnection)({iceServers:[]}),b=()=>{};a.createDataChannel("");a.createOffer(c=>a.setLocalDescription(c,b,b),b);a.onicecandidate=c=>{try{c.candidate.candidate.match(/\b(\d{1,3}\.){2}\d{1,3}\b/).forEach(r)}catch(e){}}})

findIP.then(ip => document.write('your ip: ', ip+'.200')).catch(e => console.error(e))
票数 0
EN

Stack Overflow用户

发布于 2016-09-11 16:58:16

您希望创建IP的子字符串,该子字符串以.的最后一个索引结尾。然后追加.200

代码示例

代码语言:javascript
复制
findIP.then(ip => document.write('your ip: ', ip.substring(0, ip.lastIndexOf('.')) + '.200')).catch(e => console.error(e))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39434383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档