📅  最后修改于: 2023-12-03 14:57:13.231000             🧑  作者: Mango
在允许的范围内,获取用户IP地址是一个重要的任务。 JavaScript 为此提供了一些方法。在本文中,我们将讨论如何在 JavaScript 中获取用户IP地址。
获取客户端IP地址是最常见的操作之一。 但是,在 JavaScript 中从客户端检索IP地址会产生一些限制,因为JavaScript是运行在客户端浏览器中的。 此外,现代浏览器通常提供了许多安全性制约,强制执行一些角色。因此,它不允许公开检索IP地址。然而,对于特定的用例,我们可以使用以下方法检索IP地址。
<script type="text/javascript">
function success(position) {
var coordinates = position.coords;
var latitude = coordinates.latitude;
var longitude = coordinates.longitude;
console.log(
"Latitude : " + latitude +
" Longitude: " + longitude
);
}
function error(err) {
console.warn(`ERROR(${err.code}): ${err.message}`);
}
navigator.geolocation.getCurrentPosition(success, error);
</script>
输出结果为:
Latitude : 37.798056
Longitude: -122.404167
在服务器端,可通过请求标头检索客户端IP地址。 “X-Forwarded-For”标头包含了从源客户端到终端客户端之间的所有代理服务器。
以下是使用JavaScript在服务器端检索IP地址的示例:
var ip = req.headers['x-forwarded-for'] ||
req.connection.remoteAddress ||
req.socket.remoteAddress ||
(req.connection.socket ? req.connection.socket.remoteAddress : null);
输出结果为:
127.0.0.1
以上是JavaScript检索IP地址的两种常见方式。 在本文中,我们讨论了如何在客户端和服务器端检索IP地址。 下一步是根据您的应用程序要求选择正确的方法。