Search code examples
htmlangularjstypescriptuser-agent

How to get the client ip address from browser in angular (typescript)


Hey there I would really appreciate it if you can provide me with an example where a type script class can get the client's IP address and the browser that the client is using and set those values in variables

I want to do this in type script, not in javascript is that possible and if not how to do it with type script

- So For Example I can

  1. set those variables while submitting the form to the database in the back end

  2. I can for example display for the user the browser he is using any help would be appreciated thanks


Solution

  • I took it as a basis for my problem but I did not solve it because it gave me the public IP of the internet server. For an internal network with DHCP, change the URL by the following:

    getIpCliente(): Observable<string> {
      return this.http
                 .get('http://api.ipify.org/?format=jsonp&callback=JSONP_CALLBACK')
                 .map((res: Response) => {
                   console.log('res ', res);
                   console.log('res.json() ', res.text());
                   console.log('parseado  stringify ', JSON.stringify(res.text()));
                   let ipVar = res.text();
                   let num = ipVar.indexOf(":");
                   let num2 = ipVar.indexOf("\"});");
                   ipVar = ipVar.slice(num+2,num2);
    
                   return ipVar
                 }
      );
    }