如题。用什么函数啊?
解决方案 »
- C# winform 生成OUTLOOK发件箱中的一个邮件,然后通过OUTLOOK发送,能行吗
- 关于加载动态控件问题?
- = 和 Equals 的区别?
- 如何取得、设置水晶报表的单击等事件?
- UdpClient.Receive(RemoteIpEndPoint)怎么不能得到对端的IP与PORT?
- 【treeview问题】:如何获得带有checkbox的treeview在所有节点上其checkbox是否为true的值
- win2003+vs.net2003 原来可以用的asp。net不能用了??
- 关于替换换行的问题
- 如何在DATAGRID里加一个checkbox列,然后将选中的记录删除?
- 定时器Quartz 中设置线程池的数量
- .Net里有没有类似Java中StringToken的类?
- 能否让MSDE安装之后在添加删除里面是不可见的?
I forget, maybe it is :system.net.ipaddress
{
IPHostEntry ipHost = Dns.Resolve(Dns.GetHostName());
IPAddress ipAddr = ipHost.AddressList[0];
return ipAddr.ToString();
}
你的方法在局域网中只能获取内网的IP地址,无法获取本机的公网IP。
关注一下~
String user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString();
穿过代理服务器取远程用户真实IP地址:
if(Request.ServerVariables["HTTP_VIA"]!=null){
string user_IP=Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
}else{
string user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString();
}
你看看别人的网页,你在局域网中任一台机器(不是服务器),它都能获得你的IP,看下面的网址试试:http://bbs.ccidnet.com/showthread.php?s=ba47841d05c0abf225f3111e5d0c6eb3&threadid=186790往下浏览看看
-----------------------------------------------------------------------
这句话无比正确。公网上的服务器确实可以轻松获得我的IP,(我和你说的是一个意思:那个服务器就知道你的IP)。但是,我无法知道自己的IP,楼主是想得到自己的IP。总结一下:别人可以轻松知道我的IP,但我自己却无法知道自己的IP,除非我在公网上一台受我控制的服务器,让它把我的IP返回给我。
{
IPHostEntry tempHost = new IPHostEntry();
tempHost = Dns.Resolve(Dns.GetHostName());
if(tempHost.AddressList.Length==1)
{
return tempHost.AddressList[0].ToString();
}
else
{
return tempHost.AddressList[1].ToString();
}
http://www.cnblogs.com/helloworld84/archive/2005/08/18/218104.html
http://www.cnblogs.com/Zeus/archive/2005/04/20/141502.aspx
// 来源: http://www.cnblogs.com/helloworld84/archive/2005/08/18/218104.htmlusing System;
using System.IO;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;class PubIP
{
static string GetIP()
{
Uri uri = new Uri("http://www.ikaka.com/ip/index.asp");
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = 0;
req.CookieContainer = new CookieContainer();
req.GetRequestStream().Write(new byte [0], 0, 0);
HttpWebResponse res = (HttpWebResponse)(req.GetResponse());
StreamReader rs = new StreamReader(res.GetResponseStream(), Encoding.GetEncoding("GB18030"));
string s = rs.ReadToEnd();
rs.Close();
req.Abort();
res.Close();
Match m = Regex.Match(s, @"IP:\[(?<IP>[0-9\.]*)\]");
if (m.Success) return m.Groups["IP"].Value;
return string.Empty;
} static void Main()
{
Console.WriteLine(GetIP());
}
}
System.Net.IPAddress addr;
// 获得本机局域网IP地址
addr = new System.Net.IPAddress(Dns.GetHostByName(Dns.GetHostName()).AddressList[0].Address);
IpAddress = addr.ToString();
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Management;
using System.Net;
using System.Net.Sockets ;
private void button1_Click(object sender, System.EventArgs e)
{
string s="",mac="";
//利用DNS组件的GetHostName函数读取机器名
string hostInfo=Dns.GetHostName();
//读取IP地址列表
System.Net.IPAddress [] addressList=Dns.GetHostByName(Dns.GetHostName()).AddressList;
for(int i=0;i<addressList.Length;i++)
{
s+=":" + addressList[i].ToString();
}
//利用ManagementClass类取得MAC地址
ManagementClass mc;
mc=new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc=mc.GetInstances();
foreach(ManagementObject mo in moc)
{
if (mo ["IPEnabled"].ToString ()=="True")
mac=mo["MacAddress"].ToString();
}
//在广本编辑框中显示数据
ComputerName.Text=hostInfo;
IpAdd.Text=s;
MacAdd.Text=mac;
}
IPHostEntry ihe = Dns.GetHostByName(Dns.GetHostName());
IPAddress myself = ihe.AddressList[0];============================================================
外网地址:还是只有 wuyi8808(空间/IV) 的程序正确.
注册表
WMI
DNS