CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

C#如何获取本机在Internet上的IP地址

楼主zjwuweim(冰火)2005-02-24 20:21:59 在 .NET技术 / C# 提问

C#如何获取本机在Internet上的IP地址 问题点数:100、回复次数:42Top

1 楼snowpine999([彼岸烟花][当你看到☆河灿烂,可会想起我?])回复于 2005-02-24 20:41:09 得分 10

UP   +   学习   +   接分  
   
  UP   +   学习   +   接分  
   
  UP   +   学习   +   接分Top

2 楼dazhu2(【倚天不出,谁与争锋】)回复于 2005-02-24 20:44:08 得分 0

如果是通过代理服务器上网的,本机IP地址就是代理服务器ip地址加上相应的端口号Top

3 楼sdenli(Fender)回复于 2005-02-24 20:53:28 得分 10

 
  Request.ServerVariables["HTTP_REFERER"]可以获得当前地址的上一次请求地址,可获得的是完整的URL  
   
   
   
  Request.ServerVariables["REMOTE_HOST"],,,  
   
  Request.ServerVariables["SERVER_NAME"]  
   
  肯定还会有得到IP的,你查一下MSDN吧  
  Top

4 楼zjwuweim(冰火)回复于 2005-02-25 15:20:36 得分 0

楼上的是不是太麻烦了,是否有还不知道,有没有简单一点的。可以通过其他代码得到Top

5 楼tttick(秉承一贯懒散的生活方式与严谨的工作态度¢)CodinG)回复于 2005-02-25 15:59:44 得分 0

这么高要求哦??上面的我还没看明白呢~~~~~呵呵~~Top

6 楼h_lj(贝塔)回复于 2005-02-25 16:12:11 得分 10

IPAddress[]   ips   =   Dns.GetHostByName(Dns.GetHostName()).AddressList;Top

7 楼yuchangfu(小俞)回复于 2005-02-25 16:18:23 得分 10

System.Net.IPAddress   addr;    
  //   获得拨号动态分配IP地址    
  addr   =   new   System.Net.IPAddress   (   Dns.GetHostByName   (   Dns.GetHostName   (   )   )   .AddressList   [1].Address   )   ;    
  return   addr.ToString   (   )   ;Top

8 楼doubon(DB.NET)回复于 2005-02-25 16:48:44 得分 10

Request.UserHostAddressTop

9 楼yuqingjiang()回复于 2005-02-25 17:12:54 得分 10

是AddressList[0]Top

10 楼sswv(林健)回复于 2005-02-26 12:27:26 得分 10

AddressList[0]只是第一个本机IP,很多情况下我们会有多个IP。  
   
  private   IPAddress   myIP   =   IPAddress.Parse("127.0.0.1"); //本机IP  
  private   ArrayList   ar; //IP列表  
  private   IPHostEntry   myHost   =   new   IPHostEntry(); //本机  
   
  private   void   RefreshIP()  
  {  
  //获知本机IP  
  myHost   =   Dns.Resolve(Dns.GetHostName());  
  foreach(IPAddress   ip   in   myHost.AddressList)  
  {  
  ar.Add(ip.ToString());  
  }  
  }Top

11 楼wingnal(清淡天和)回复于 2005-02-26 12:51:42 得分 10

string     s_ip;  
  if(Request.ServerVariables["HTTP_VIA"]!=null)  
  s_ip=Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();        
  else  
  s_ip=Request.ServerVariables["REMOTE_ADDR"].ToString();Top

12 楼web_gus(树欲静而风不止)回复于 2005-02-26 13:17:55 得分 0

upTop

13 楼yaopeng117(尋找屬於自己的道,堅定不移的走下去。)回复于 2005-02-26 13:42:07 得分 0

upTop

14 楼momentmobile(瞬间移动)回复于 2005-02-26 13:59:37 得分 0

upTop

15 楼Johnnyxy(风里密码)回复于 2005-02-26 15:33:25 得分 10

string   ComputerName   =   Dns.GetHostName();  
  IPHostEntry   myHost   =   new   IPHostEntry();  
  myHost   =   Dns.Resolve(ComputerName);  
  for(int   i;i   <   myHost.AddressList.Length;i++)  
  {  
          Console.WriteLine("{0}",myHost.AddressList[i].ToString());  
  }  
   
  不要忘记using   System.Net;哦Top

16 楼gigiliang(他骗我)回复于 2005-02-26 15:57:57 得分 10

楼主讲的是"本机在Internet上的IP地址   ",这个是动态分配的,可大家都是在获取本机的第一个IP地址Top

17 楼momentmobile(瞬间移动)回复于 2005-02-26 16:23:23 得分 0

upTop

18 楼zjwuweim(冰火)回复于 2005-03-14 12:59:20 得分 0

up  
  楼上的楼上说的没错,怎么获取Internet上的IP,WinForm下Top

19 楼amendajing(学习,是个漫长的旅途!)回复于 2005-03-14 13:07:40 得分 0

markTop

20 楼egxsun(egxsun)回复于 2005-03-14 13:24:02 得分 0

如果是在局域网里通过服务器上网的可能得不到吧Top

21 楼zjwuweim(冰火)回复于 2005-03-16 09:25:04 得分 0

upTop

22 楼hivak47(比尔)回复于 2005-03-16 09:46:35 得分 0

可以得到的。Top

23 楼tjtao(我爱Mary)回复于 2005-03-16 10:20:25 得分 0

关注~Top

24 楼xjtao(风云之剑)回复于 2005-03-16 12:44:36 得分 0

如果是通过共享上网,通过NAT转换的,本机是不知道上网出口网关的IP地址的。以前写到类似的程序时,考虑过这个问题,上述解答都是获得了本机本地的IP地址,非楼主所要求的。  
   
  我程序里最终是通过,向网外发送一条信息,由对   方告知你的出口IP地址,这个很容易实现,你可以自己写个程序放服务器上,也可以调别人的。Top

25 楼zjwuweim(冰火)回复于 2005-03-17 17:19:37 得分 0

5555~~~Top

26 楼zjwuweim(冰火)回复于 2005-03-19 13:40:13 得分 0

看来这样是没人知道了Top

27 楼Aallonlin(风之力)回复于 2005-03-19 13:48:56 得分 0

markTop

28 楼qiezic(破晓)回复于 2005-03-19 14:08:11 得分 0

要用API提取!Top

29 楼corbet(清风车影)回复于 2005-03-19 14:35:50 得分 0

帮你顶一下!Top

30 楼sswv(林健)回复于 2005-03-19 15:45:41 得分 0

private   IPAddress   myIP   =   IPAddress.Parse("127.0.0.1"); //本机IP  
  private   IPHostEntry   myHost   =   new   IPHostEntry(); //本机  
   
  private   void   RefreshIP()  
  {  
  //获知本机IP  
  myHost   =   Dns.Resolve(Dns.GetHostName());  
  cbbLocalIP.Items.Clear();  
  cbbLocalIP.Items.Add("127.0.0.1");  
  foreach(IPAddress   ip   in   myHost.AddressList)  
  {  
  cbbLocalIP.Items.Add(ip.ToString());  
  }  
  cbbLocalIP.SelectedIndex   =   0;  
  }Top

31 楼corbet(清风车影)回复于 2005-03-19 16:52:54 得分 0

帮你顶一下!Top

32 楼lp_net(adela)回复于 2005-03-19 16:56:52 得分 0

学习Top

33 楼BigIdiot628(大笨蛋,谁叫你不努力!)回复于 2005-03-19 17:15:26 得分 0

学习,帮自己顶一下。Top

34 楼lianmycc(越)回复于 2005-03-19 17:35:25 得分 0

upTop

35 楼conan19771130(残疾人程序员,学习第2门外语)回复于 2005-03-19 17:36:47 得分 0

IPHostEntry   ipHostInfo   =   Dns.Resolve(this.m_strServerIP);  
  IPAddress   ipAddress   =   ipHostInfo.AddressList[0];Top

36 楼zjwuweim(冰火)回复于 2005-03-22 10:29:07 得分 0

哎~去学web编程吧,windows咋这样呢Top

37 楼xjaifly(tiantian)回复于 2005-03-22 10:53:47 得分 0

好想都是获取本机的   IP   吧!  
  Top

38 楼morou_007(默柔)回复于 2005-03-22 11:04:53 得分 0

GetHostByName   (   )方法的返回值时IPHostEntry   对象,此对象的属性   AddressList,是一个IPAddress类型的数组,包含了计算机此时的所有的IP地址信息。在ip01.cs中AddressList   [0].Address是固定的IP地址,而对于上网动态分配的IP地址是.AddressList   [1].Address。据此我们可以的得到读取拨号上网动态分配的IP地址的源程序:  
  System.Net.IPAddress   addr;//   获得拨号动态分配IP地址addr   =   new   System.Net.IPAddress   (   Dns.GetHostByName   (   Dns.GetHostName   (   )   )   .AddressList   [1].Address   )   ;return   addr.ToString   (   )   ;  
  我们也可以通过设定AddressList的不同值来得到机器不同的IP地址。Top

39 楼corbet(清风车影)回复于 2005-03-22 11:34:44 得分 0

顶上去!Top

40 楼egxsun(egxsun)回复于 2005-03-22 11:35:28 得分 0

上面的方法也得不到的Top

41 楼yezie(椰子)(.Net)回复于 2005-03-22 11:58:59 得分 0

Dns.GetHostName();Top

42 楼grf601006617(宫崎锋)回复于 2005-03-22 14:24:41 得分 0

upTop

相关问题

  • linux下如何用c++/c获取本机ip地址
  • 取本机IP
  • C#下怎样得到本机IP地址?
  • C#下怎样得到本机IP地址?
  • C#下怎样得到本机IP地址?
  • c#如何显示本机的IP地址?
  • ~~~~~~~~~~~~~`~~C#中如何取得本机IP,100分相送!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • Linux 下c编程有什么办法获取本机IP?
  • 求助!在C#中如何改变本机的IP地址?
  • 如何用VB获得本机在INTERNET上的IP地址?

关键词

  • .net
  • c#
  • 学习
  • ip
  • 本机
  • 地址
  • ipaddress
  • myhost
  • iphostentry
  • servervariables

得分解答快速导航

  • 帖主:zjwuweim
  • snowpine999
  • sdenli
  • h_lj
  • yuchangfu
  • doubon
  • yuqingjiang
  • sswv
  • wingnal
  • Johnnyxy
  • gigiliang

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo