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