我正在使用Get public IP using DynDNS and WebRequest C#
中找到的代码获取IP地址。但我只是从服务器获取IP地址,我需要的是连接到我的Web应用程序的用户的IP地址。
String direction = "";
WebRequest request = WebRequest.Create("http://checkip.dyndns.org/");
using (WebResponse response = request.GetResponse())
using (StreamReader stream = new StreamReader(response.GetResponseStream()))
{
direction = stream.ReadToEnd();
}
//Search for the ip in the html
int first = direction.IndexOf("Address: ") + 9;
int last = direction.LastIndexOf("</body>");
direction = direction.Substring(first, last - first);
答案 0 :(得分:2)
如果您正在运行网络应用,并且想要“客户端”IP,you need to use the UserHostAddress。
var userAddress = HttpContext.Current.Request.UserHostAddress;
答案 1 :(得分:0)
首先获取一个上下文:
HttpListenerContext ctx = m_HttpListener.GetContext();
接受请求后,ctx
中提供了客户信息。使用ctx
获取客户端IP地址:
string IP = ctx.Request.RemoteEndPoint.Address.ToString();