我怎么获取不到IP了~~呜呜

流氓耗子 2009-11-26 04:55:35
我怎么获取不到IP了~~呜呜

原来一直这么写的
string IP=Request.UserHostAddress.ToString();

原来可以的,
我现在装了WIN7了,
本机测试获得的IP是:“::1”。。。。。

郁闷哈~大家还碰到这种情况啦?应该怎么解决
...全文
947 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
li2012kui 2011-06-18
  • 打赏
  • 举报
回复
using System;
using System.Net;
using System.Web;

namespace Common
{
public class IPNetworking
{
/// <summary>
/// 取得客户端主机 IPv4 位址(通过DNS反查)
/// </summary>
/// <returns></returns>
public static string GetClientIPv4Address()
{
string ipv4 = String.Empty;

foreach (IPAddress ip in Dns.GetHostAddresses(GetClientIP()))
{
if (ip.AddressFamily.ToString() == "InterNetwork")
{
ipv4 = ip.ToString();
break;
}
}

if (ipv4 != String.Empty)
{
return ipv4;
}

// 原作使用 Dns.GetHostName 方法取回的是 Server 端信息,非 Client 端。
// 改写为利用 Dns.GetHostEntry 方法,由获取的 IPv6 位址反查 DNS 纪录,
// 再逐一判断何者为 IPv4 协议,即可转为 IPv4 位址。
foreach (IPAddress ip in Dns.GetHostEntry(GetClientIP()).AddressList)
//foreach (IPAddress ip in Dns.GetHostAddresses(Dns.GetHostName()))
{
if (ip.AddressFamily.ToString() == "InterNetwork")
{
ipv4 = ip.ToString();
break;
}
}

return ipv4;
}

/// <summary>
/// 取得客户端主机位址
/// </summary>
public static string GetClientIP()
{
if (null == HttpContext.Current.Request.ServerVariables["HTTP_VIA"])
{
return HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
else
{
return HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
}
}
}
}
jshi123 2009-11-26
  • 打赏
  • 举报
回复
::1 是ipv6格式的loopback地址,相当于127.0.0.1,
想看到ipv4格式的话,在网络连接的属性里,把TCP/IPv6协议删掉即可
全局变量 2009-11-26
  • 打赏
  • 举报
回复
set ip=Request.ServerVariables("REMOTE_ADDR") ; ASP中还有MapPath(string p)方法可以获取物理路径。。。。通过不同参数。。可以获得很多主机信息。。。如主机名称之类的
lj419300010 2009-11-26
  • 打赏
  • 举报
回复
在.NET中获取一台名,IP地址及当前用户名是非常简单,以下是常用的几种方法:

1. 在ASP.NET中专用属性

获取服务器名:Page.Server.ManchineName

获取用户信息:Page.User

获取客户端名:Page.Request.UserHostName

获取客户端IP:Page.Request.UserHostAddress

2. 在网络编程中的通用方法

获取当前名:static System.Net.Dns.GetHostName()

根据名取出全部IP地址:static System.Net.Dns.Resolve(名).AddressList

也可根据IP地址取出名:static System.Net.Dns.Resolve(IP地址).HostName

3. 系统环境类的通用属性

当前名:static System.Environment.MachineName

当前所属网域:static System.Environment.UserDomainName

当前用户:static System.Environment.UserName

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧