This question already has answers here:
How to get client's IP address using JavaScript?

(48个答案)


12个月前关闭。




我的网站查找了不同的IP地址,以查看它们是否是已知威胁。我在其中放置了一个通过Vue.js链接的按钮,并单击它以将用户的IP地址推送到输入框。
尝试获取用户的IP地址时遇到很多麻烦。

另外,我不需要任何jquery,因为每当我尝试使用它时都会引发错误。

这是我的js代码的简化版本:
let app = new Vue({
    el: '#app',
    data: {
    term: localStorage.getItem("searchTerm")
    },
    methods: {
     showYourIP()
    {
      this.term = //User's IP Address
    }
}});

称呼它的HTML是:
<button class="button" id="yourIP" @click="showYourIP">Show Your IP</button>

这是指向我的网站的链接,因此更容易理解我要执行的操作:https://people.rit.edu/sns9181/igme330/Threat-Visualizer/

您可以通过右键单击并检查页面来查看我的整个代码(如果更简单)。

最佳答案

这个问题是关于JS和“如何在JS中获取客户的IP”的,而不是关于Vue的;)

但是要点:
您应该从某些api获取ip,例如https://www.ipify.org/
当您向https://api.ipify.org?format=json发送请求时,您将获得类似JSON

{"ip":"257.1.1.1"}

看这个
fetch('https://api.ipify.org?format=json')
.then(x => x.json())
.then(({ ip }) => {
    this.term = ip;
});

放入showYourIp方法

09-25 11:20