• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 16134
  • Last Modified:

How to retrieve client machine name from javascript?

I have an ASP.NET application that is located on the server but is accessed from client machines. I need the application to retrieve computer name of the client computer that accesses the application. How can I do that using javascript?

P.S. I've already tried Environment.MachineName and Request.ServerVariables{"HOSTNAME"]. All these will only retrieve either IP Address or Server machine name. I need a client machine name

0
YZlat
Asked:
YZlat
  • 6
  • 5
  • 2
  • +1
1 Solution
 
nisarkhanCommented:
>>How to retrieve client machine name from javascript?

you cant... because javascript is not a server_side script
0
 
YZlatAuthor Commented:
that's why I need javascript - because I need to retrieve the name of the client machine, the Internet explorer on which opens a web page.

In other words, from a web page opened on computer1 I need to get the name of the computer1. I cannot do that with server-side code, but that's done with client-side code. JavaScript is client-side language
0
 
raterusCommented:
I believe the only way to truly do this is on the server, first you get the IP, and do a DNS lookup to get the computer name.  This will only work in an intranet where you have a local DNS server with all the computer names.
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
YZlatAuthor Commented:
thanks raterus. and how do I do that? can you post some code?
0
 
codeclayCommented:
Here is vbscript solution . http://www.codeproject.com/vbscript/userinfo.asp 
0
 
raterusCommented:
I don't have any code to do this off the top of my head, I could google it probably just as easily as you could. ".net DNS lookup"
0
 
YZlatAuthor Commented:
I wrote this function to retrieve computer name, but I still need to get at least the IP Address of the client machine in order to pass it to my function. ANd Request.ServerVariables["REMOTE_ADDR"] gives me the IP of the localhost and not client computer

public string ComputerName(string ipaddr)
            {
                  System.Net.IPHostEntry objX;
                  string strHostName="";
 
                  try
                  {
                        //get the host dns entry
                        objX = System.Net.Dns.GetHostByAddress(ipaddr);

                        //get the hostname property
                        strHostName = objX.HostName;
                  }
                  catch (Exception ex)
                  {

                        //something went wrong (possibly no entry)

                  }//end try
                  return strHostName;
            }
0
 
raterusCommented:
Try this to get the IP address

string ipaddress;
if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != "")
{
  ipaddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
}
else
{
  ipaddress = Request.ServerVariables["REMOTE_ADDR"];
}
0
 
YZlatAuthor Commented:
raterus, I get ipaddress=null
0
 
raterusCommented:
You've got something weird going on in the configuration of your server.  REMOTE_ADDR should work, period, and not be the server's ip.
0
 
codeclayCommented:
Wait a minute... when did it go server side ? I thought you wanted to do it client side...???
0
 
YZlatAuthor Commented:
It's really not important if it's done on client side or server-side, as long as I retrieve the name of the client machine, from which the web page is opened
0
 
raterusCommented:
Keeping it simple, I think nisarkhan's first comment answered the question.  We were getting into server side scripting which wasn't really the original question.
0
 
YZlatAuthor Commented:
I guess you are right
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 6
  • 5
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now