使用 jquery 从 HTTPS 托管网站获取客户端的 IP 地址

Get client's IP address from an HTTPS hosted website using jquery

我正在开发一个需要保存客户 IP 地址的应用程序。我使用了以下代码:

function GetIPAddress() {

    if (window.XMLHttpRequest) xmlhttp = new XMLHttpRequest();
    else xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    xmlhttp.open("GET", "http://api.hostip.info/get_html.php", false);
    xmlhttp.send();
    hostipInfo = xmlhttp.responseText.split("\n");
    for (i = 0; hostipInfo.length >= i; i++) {
        ipAddress = hostipInfo[i].split(":");
        if (ipAddress[0] == "IP") {
            return ipAddress[1];
        }
    }
    return "0";
}

现在,当我在本地主机上检查这段代码时它工作正常,但是当我把它放在 HTTPS 环境中进行测试时,它不起作用。

请帮忙!

提前致谢

查看 http://www.freegeoip.net/ 他们提供一项服务,您可以在其中查找 IP 的地理位置,如果未提供 IP 或主机名,则会查找您自己的 IP。

Jquery :

$.get('freegeoip.net/{format}/').success(function(response) {
//code to retrieve ip
var ip = response.ip;
});

注意:支持的格式有:csv、xml、json 和 jsonp