获取客户端 IP 而不是 Web 服务器 IP
本文关键字:IP Web 服务器 客户端 获取 | 更新日期: 2023-09-27 18:29:29
public static string GetPublicIp()
{
string direction = "";
WebRequest request = WebRequest.Create("http://checkip.dyndns.org");
using (WebResponse response1 = request.GetResponse())
using (StreamReader stream1 = new StreamReader(response1.GetResponseStream()))
{
direction = stream1.ReadToEnd();
}
//Search for the ip in the html
int first1 = direction.IndexOf("Address: ") + 9;
int last1 = direction.LastIndexOf("</body>");
direction = direction.Substring(first1, last1 - first1);
return direction;
}
我正在尝试在加载 asp.net 页面时获取客户端 IP。我尝试使用上面的代码片段所示的 checkip.dyndns.org 服务,但它返回托管 ASP.NET 应用程序的 Web 服务器的 IP。
我可以修改该代码并让它返回客户端公共 IP 吗?(我需要他们的公共 IP 而不是他们的本地 IP(或者他们是如何返回客户端公共 IP(而不是 WEB 服务器 IP(的更好示例
您可以使用
以下内容:
var userIpAddress = HttpContext.Current.Request.UserHostAddress;