js ping 输出IP
时间: 2023-07-12 22:56:01 浏览: 95
JavaScript 本身并没有提供直接获取服务器 IP 地址的 API,因此在实现 `ping` 功能时也无法直接输出服务器 IP 地址。不过,您可以通过解析 DNS 来获取服务器 IP 地址,然后将其输出到控制台或其他位置。以下是一个示例代码:
```javascript
function ping(url, callback) {
var start = new Date().getTime();
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
var latency = new Date().getTime() - start;
var serverIP = xhr.responseURL.split("/")[2];
callback(latency, serverIP);
}
};
xhr.open("GET", url, true);
xhr.send();
}
```
这段代码在 `XMLHttpRequest` 对象的 `onreadystatechange` 回调函数中,通过解析 `responseURL` 属性获取服务器的 IP 地址,并将其作为第二个参数传递给回调函数。调用 `ping` 函数的示例代码如下:
```javascript
ping("https://www.example.com", function(latency, serverIP) {
console.log("Latency: " + latency + "ms");
console.log("Server IP: " + serverIP);
});
```
这段代码以 `https://www.example.com` 为例调用了 `ping` 函数,并在回调函数中输出了请求的延迟时间和服务器 IP 地址。需要注意的是,由于 JavaScript 的同源策略,您只能使用该方法来测试与当前网站同源的网站。如果要测试跨域网站的 `ping` 值和 IP 地址,需要使用其他技术,例如 `JSONP`、`CORS`、`WebSocket` 等。
阅读全文