如何在JavaScript中获取客户端IP地址?

如何在JavaScript中获取客户端IP地址?,javascript,Javascript,我正在尝试获取客户端的IP地址。这是到目前为止我的代码。 有什么建议吗 函数getIP(json){ 编写(“我的公共IP地址是:”,json.IP); } 请尝试以下代码:- Ip地址:= $(文档).ready(函数ubsrt() { window.rtpeerconnection=window.rtpeerconnection | | window.mozrtpeerconnection | | window.webkirtpeerconnection; var pc=新的RTPe

我正在尝试获取客户端的IP地址。这是到目前为止我的代码。 有什么建议吗


函数getIP(json){
编写(“我的公共IP地址是:”,json.IP);
}

请尝试以下代码:-


Ip地址:=
$(文档).ready(函数ubsrt()
{
window.rtpeerconnection=window.rtpeerconnection | | window.mozrtpeerconnection | | window.webkirtpeerconnection;
var pc=新的RTPeerConnection({iceServers:[]}),
noop=函数(){};
pc.createDataChannel(“”);
pc.createOffer(pc.setLocalDescription.bind(pc),noop);
pc.onicecandidate=函数(ice){
如果(!ice | | |!ice.candidate | |!ice.candidate.candidate)返回;
var myIP=/([0-9]{1,3}(\[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/.exec(ice.candidate.candidate)[1];
$('.ipAdd').text(myIP);
pc.onicecandidate=noop;
}; 
});

试试这个。对你有点帮助

<script type="application/javascript">
  function getIP(json) {
    document.write("My public IP address is: ", json.ip);
  }
</script>

<script type="application/javascript" src="http://ipinfo.io/?format=jsonp&callback=getIP"></script>

函数getIP(json){
编写(“我的公共IP地址是:”,json.IP);
}

返回的JSON变量可以像javascript中的任何对象一样进行导航


函数getIP(json){
document.getElementById(“text”).value=JSON.stringify(JSON,null,2);
for(输入json){
document.write(“
”+key+:”,json[key]); } }
试试这个

    $.ajax({
        url: "//api.ipify.org/?format=json",
        dataType: 'JSON',
    }).success(function(data) {
        console.log(data.ip);
    }).error(function (jqXHR, textStatus, errorThrown) {
        console.log(jqXHR);
        console.log(textStatus);
        console.log(errorThrown);
    });

如何使用angular获取当前ip地址? 请参阅以下连结:

或
getIpAddress(){
this.http.get('https://jsonip.com')
.订阅(数据=>{
console.log('th data',data);
this.ipAddress=数据
})
}

您的代码非常好。(您错误地使用了这么多代码片段,您的代码是“JavaScript”,但需要是“HTML”,所以我为您修复了它。)到目前为止,我看到的所有答案的可能重复都使用了外部链接。但您的答案不包含任何第三方url。。。你知道如何在角度上做到这一点吗?这应该被标记为正确答案。不需要任何外部网络呼叫。感谢上面的代码给了我下面一行的“uncaughttypeerror:cannotreadproperty'1'of null:
var myIP=/([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/.exec(ice.candidate candidate 1]
我尝试调试并发布此命令的全部内容,发现数组的元素[1]是“”
/()/.exec(ice.candidate.candidate)输出:(2)[“”,“”,索引:0,输入:“候选:119889386 1 udp 2113937151 98dff370-ffe5…典型主机生成0 ufrag gNsA网络成本999”,组:未定义]我仅在Chrome上获得上述错误。代码正在Firefox上运行json指的是什么?http://freegeoip.net/json/?callback
现在似乎不可用检查更新的答案。
    $.ajax({
        url: "//api.ipify.org/?format=json",
        dataType: 'JSON',
    }).success(function(data) {
        console.log(data.ip);
    }).error(function (jqXHR, textStatus, errorThrown) {
        console.log(jqXHR);
        console.log(textStatus);
        console.log(errorThrown);
    });
OR 

getIpAddress(){
this.http.get<{ip:string}>('https://jsonip.com')
    .subscribe( data => {
      console.log('th data', data);
      this.ipAddress = data
    })
}