我在用C#获取完整的IP地址时遇到了一些问题。当我通过点击按钮调用C#web方法时,它会在JavaScript警告框中显示(或应该)IP地址。我得到的而不是IP地址是:: 1。我通过Visual Studio 2015社区运行它。这里是我的代码:C#没有显示完整的IP地址
[WebMethod]
public string getIPAddress()
{
// this method gets the ip address by using the server variables
// in C# to capture the data from the client
HttpContext context = HttpContext.Current;
string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (!string.IsNullOrEmpty(ipAddress))
{
string[] addresses = ipAddress.Split(',');
if (addresses.Length != 0)
{
return addresses[0];
}
}
return context.Request.ServerVariables["REMOTE_ADDR"];
}
并处理该按钮单击方法:
// display the ip address to the user if the button is clicked (display it via a javascript alert box)
public void IpAddress(object sender, EventArgs e)
{
Data d = new Data();
Response.Write("<script type=\"text/javascript\">alert('" + d.getIPAddress() + "');</script>");
}
任何帮助,将不胜感激。谢谢!
这是一个完整的IP地址;它是IPv6本地主机。 – SLaks
有什么方法可以获得IPv4地址或者这是不可能的? – user2101411