Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过Jquery或JS获取计算机名和IP地址_Javascript_Jquery - Fatal编程技术网

Javascript 如何通过Jquery或JS获取计算机名和IP地址

Javascript 如何通过Jquery或JS获取计算机名和IP地址,javascript,jquery,Javascript,Jquery,如何通过jquery或JS获取计算机名和IP地址?如果您需要客户端的这些详细信息, 您可以使用第三方服务,如,并进行API调用,以获取IP等详细信息 有关其他详细信息,请使用类似的服务 但如果您在服务器端查看此详细信息,则这取决于您使用的编程语言,尽管在服务器端,此信息在HTTP头中很容易获得 有关服务器端的详细信息,请参阅类似问题 计算机名称 <script type="text/javascript"> var network = new ActiveXObject('W

如何通过jqueryJS获取计算机名和IP地址?

如果您需要客户端的这些详细信息, 您可以使用第三方服务,如,并进行API调用,以获取IP等详细信息

有关其他详细信息,请使用类似的服务

但如果您在服务器端查看此详细信息,则这取决于您使用的编程语言,尽管在服务器端,此信息在HTTP头中很容易获得

有关服务器端的详细信息,请参阅类似问题

计算机名称

<script type="text/javascript">
    var network = new ActiveXObject('WScript.Network');
    alert(network.computerName);
</script>

var network=newActiveXObject('WScript.network');
警报(网络.计算机名);

要使用JavaScript获取计算机名和IP地址

--计算机名

var network = new ActiveXObject('WScript.Network');
    // Show a pop up if it works
    alert(network.computerName);
--IP地址

$.getJSON("http://jsonip.com/?callback=?", function (data) {
    console.log(data);
    alert(data.ip);
});

浏览器、操作系统、屏幕颜色、屏幕分辨率、Flash版本和Java支持都应该可以从JavaScript中检测到(可能还有更多)。但是,计算机名是不可能的

您可以使用简单的ajax请求获取IP地址,如下所示:-

let xhttp = new XMLHttpRequest();
xhttp.open("GET", "https://api.ipify.org/?format=json", true);
xhttp.send();
xhttp.onreadystatechange = function () {
    if (this.readyState == 4 && this.status == 200) {
        let ip = JSON.parse(this.responseText).ip;
    }
};

我发现这个代码片段实际上对我有用

var rtpeerconnection=/*window.rtpeerconnection | |*/
window.webkirtpeerconnection | | window.mozrtpeerconnection;
if(rtpeerconnection)(函数(){
var rtc=新的RTPeerConnection({iceServers:[]});
如果(1 | | window.mozrtpeerconnection){
createDataChannel(“”,{reliable:false});
};
rtc.onicecandidate=函数(evt){
if(执行副总裁候选人)
grepSDP(“a=“+evt.candidate.candidate”);
};
rtc.createOffer(函数(offerDesc){
grepSDP(offerDesc.sdp);
rtc.setLocalDescription(offerDesc);
},函数(e){console.warn(“提供失败”,e);
});
var addrs=Object.create(null);
地址[“0.0.0.0”]=假;
函数updateDisplay(newAddr){
如果(地址中的新地址)返回;
else addrs[newAddr]=true;
var displayAddrs=Object.keys(addrs).filter(函数(k){
返回地址[k];
});
document.getElementById('list').textContent=
displayAddrs.join(“或可能”)||“不适用”;
}
功能grepSDP(sdp){
var主机=[];
sdp.split('\r\n').forEach(函数(行){
如果(~line.indexOf(“a=candidate”){
变量部分=行分割(“”),
地址=零件[4],
类型=零件[7];
如果(类型=='host')更新显示(地址);
}如果(~line.indexOf(“c=”){
变量部分=行分割(“”),
地址=零件[2];
更新显示(addr);
}
});
}
})(); 其他的
{
document.getElementById('list').innerHTML=“
ifconfig | grep inet | grep-v inet6 | cut-d\”-f2 | tail-n1
”; document.getElementById('list').nextSibling.textContent=“在Chrome和Firefox中,您的IP应该会自动显示,这取决于WebRTCSK的强大功能。”; }

您可以使用简单的获取请求获取IP地址,如下所示:-

let xhttp = new XMLHttpRequest();
xhttp.open("GET", "https://api.ipify.org/?format=json", true);
xhttp.send();
xhttp.onreadystatechange = function () {
    if (this.readyState == 4 && this.status == 200) {
        let ip = JSON.parse(this.responseText).ip;
    }
};
异步函数getIP(){ let req=等待获取(“https://peerip.glitch.me/"); 让data=wait req.json(); 设IP=data.IP; 返回IP; }
快速简单的答案是,出于安全原因,您无法通过javascript或jquery获得ip地址。可能重复@AtaurRahmanMunna,这根本不准确。使用此选项,您只能获得
网关
ip,而不是机器真正的ip。同样,最初的OP也要求输入计算机名。您是如何获得
ActiveXObject
?你会拉小提琴吗?还将在控制台中引发错误
未定义ActiveXObject
。ActiveXObject仅在IE浏览器上可用。ActiveXObject仅在IE浏览器上可用。在我的计算机上,它返回随机值(版本4)。如果它返回了机器名,我会认为这是一个安全漏洞。