How to get client's IP address using javascript or jQuery


Hello, I would like to know, how to get client’s IP address using JavaScript and jQuery?any working example or code? thanks


Asked by:- jon
1
: 9534 At:- 3/14/2018 7:34:15 PM
javascript jQuery get client's IP address using javascript







4 Answers
profileImage Answered by:- jaiprakash

You can use the api ipinfo api to know the user's ip address, here is the demo code for it

$.getJSON('https://ipinfo.io/json', function(data) {
  console.log(JSON.stringify(data, null, 2));
});

it gives results

{
  "ip": "182.64.167.193",
  "city": "New Delhi",
  "region": "National Capital Territory of Delhi",
  "country": "IN",
  "loc": "28.6000,77.2000",
  "org": "Bharti Airtel Ltd., Telemedia Services"
}

you can read more details on https://ipinfo.io/developers

Try: ipinfo.io/json

To find the client’s information from a website with SSL certificate. You can access ipify service with simple Ajax call.

 $.getJSON("https://api.ipify.org?format=json", function (data) {

               alert(IP: " + data.ip + ");

   })

Using javascript:

window.onload = function () {
        var script = document.createElement("script");
        script.type = "text/javascript";
        script.src = "https://api.ipify.org?format=jsonp&callback=ShowIP";
        document.getElementsByTagName("head")[0].appendChild(script);
    };
    function ShowIP(response) {
        document.getElementById("ipaddress").innerHTML = "Current IP Address is " + response.ip;
    } 
2
At:- 3/15/2018 11:55:08 AM
using ipinfo works for me, thanks 0
By : jon - at :- 4/2/2018 9:30:13 AM


profileImage Answered by:- bhanu

Above answer works, but there are many more other API's which can return client's public IP using Javascript.

JSONTest (Free)

$.getJSON('http://ip.jsontest.com/', function(data) {
  console.log(JSON.stringify(data, null, 2));
});

IPregistry (100,000 Lookups are fre initally and then paid)

$.getJSON('https://api.ipregistry.co/?key=tryout', function(data) {
  console.log(JSON.stringify(data, null, 2));
});

Ipify (Open Source)

Javascript code

$.getJSON('https://api.ipify.org?format=jsonp&callback=?', function(data) {
  console.log(JSON.stringify(data, null, 2));
});

C# code

var httpClient = new HttpClient();
var ip = await httpClient.GetStringAsync("https://api.ipify.org");
Console.WriteLine($"My public IP address is: {ip}");

IP-API (Free, no API key required)

$.getJSON('http://ip-api.com/json', function(data) {
  console.log(JSON.stringify(data, null, 2));
});

Geoplugin

$.getJSON('http://www.geoplugin.net/json.gp', function(data) {
  console.log(JSON.stringify(data, null, 2));
});

There are many other which requires API key

https://ipdata.co/

https://ipfind.com/

https://ipgeolocation.io/

https://ipinfodb.com/

https://ipstack.com/

You can use any of the above services, but all few limitation like No SSL support or limited free requests.

I will recommend to use https://www.ipify.org/ which is free and open source.

2
At:- 5/25/2021 12:03:45 PM
Thanks for the excellent answer, I will use free API like IP API if needed in future. 0
By : jon - at :- 6/23/2022 7:17:18 AM


profileImage Answered by:- vikas_jk

If you are looking for server side solution for ip address

C#

            string IPAddress = "";
            IPHostEntry Host = default(IPHostEntry);
            string Hostname = null;
            Hostname = System.Environment.MachineName;
            Host = Dns.GetHostEntry(Hostname);
            foreach (IPAddress IP in Host.AddressList)
            {
                if (IP.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
                {
                    IPAddress = Convert.ToString(IP);
                }
            }

            Console.WriteLine(IPAddress);

https://qawithexperts.com/article/c-sharp/get-ip-address-using-c-local-and-public-ip-example/374

Java

public static String getClientIpAddress(HttpServletRequest request) {
    String xForwardedForHeader = request.getHeader("X-Forwarded-For");
    if (xForwardedForHeader == null) {
        return request.getRemoteAddr();
    } else {
        // As of https://en.wikipedia.org/wiki/X-Forwarded-For
        // The general format of the field is: X-Forwarded-For: client, proxy1, proxy2 ...
        // we only want the client
        return new StringTokenizer(xForwardedForHeader, ",").nextToken().trim();
    }
}

PHP

function get_client_ip() {
    $ipaddress = '';
    if (getenv('HTTP_CLIENT_IP'))
        $ipaddress = getenv('HTTP_CLIENT_IP');
    else if(getenv('HTTP_X_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
    else if(getenv('HTTP_X_FORWARDED'))
        $ipaddress = getenv('HTTP_X_FORWARDED');
    else if(getenv('HTTP_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_FORWARDED_FOR');
    else if(getenv('HTTP_FORWARDED'))
       $ipaddress = getenv('HTTP_FORWARDED');
    else if(getenv('REMOTE_ADDR'))
        $ipaddress = getenv('REMOTE_ADDR');
    else
        $ipaddress = 'UNKNOWN';
    return $ipaddress;
}

hope it helps.

1
At:- 9/6/2021 2:52:18 PM


profileImage Answered by:- DishaMandaar

You can also use Ipstack to get details of a client's IP address using javascript or jQuery. Check out their documentation at this link https://ipstack.com/documentation

Once you have the IP address returned from https://api.ipify.org

e.g:

$.get("https://api.ipify.org?format=json", function(response) { console.log("My public IP address is: ", response.ip); });

You can get a further breakdown of its detail using Ipstack

// set endpoint and your access key
var ip = '134.201.250.155'
var access_key = 'YOUR_ACCESS_KEY';

// get the API result via jQuery.ajax
$.ajax({
url: 'https://api.ipstack.com/' + ip + '?access_key=' + access_key,
dataType: 'jsonp',
success: function(json) {

// output the "capital" object inside "location"
alert(json.location.capital);

}
});
0
At:- 12/5/2022 10:57:17 PM






Login/Register to answer
Or
Register directly by posting answer/details

Full Name *

Email *




By posting your answer you agree on privacy policy & terms of use