ASP.net得到服务器的IP地址

SKY徐 2012-02-15 11:56:14
我的服务器在局域网中, 我想要得到服务器外网的IP地址,请帮助. 谢谢!

如果是通过ip138得到再输出, 就不用说了.
如果是得到是局域网的IP,如:192.168.1.* 这不用说了,
请求帮助, 谢谢!!!!!!
...全文
310 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
这就好象是说,想知道自己的人品,那么先看看别人怎么说....!

你的服务器就算是能访问最近的路由器,也不一定能从这个路由器上知道外网地址啊。因为从一个局域网(比如很多城域网宽带网络)到互联网的出口在哪里,不是靠访问本机或者你办公室里的路由器可以决定的。
  • 打赏
  • 举报
回复
不访问外网服务器,你得不到。因为到底通过了多少个路由器、Proxy,不确定。

你必须访问外网服务器,然后通过返回结果带回来IP。这跟访问IP138是一个意思。
IS-NULL 2012-02-18
  • 打赏
  • 举报
回复
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class WebStart : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{

}
//获取浏览器版本号
public string getBrowser() {
string browsers;
HttpBrowserCapabilities bc = HttpContext.Current.Request.Browser;
string aa = bc.Browser.ToString();
string bb = bc.Version.ToString();
browsers = aa + bb;
return browsers;
}
//获取客户端IP地址
public string getIP()
{
string result = String.Empty;
result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.UserHostAddress;
}
if (null == result || result == String.Empty)
{
return "0.0.0.0";
}
return result;
}
//获取操作系统版本号
public static string SystemCheck()
{
string Agent = HttpContext.Current.Request.ServerVariables["HTTP_USER_AGENT"];

if (Agent.IndexOf("NT 4.0") > 0)
{
return "Windows NT ";
}
else if (Agent.IndexOf("NT 5.0") > 0)
{
return "Windows 2000";
}
else if (Agent.IndexOf("NT 5.1") > 0)
{
return "Windows XP";
}
else if (Agent.IndexOf("NT 5.2") > 0)
{
return "Windows 2003";
}
else if (Agent.IndexOf("NT 6.0") > 0)
{
return "Windows Vista";
}
else if (Agent.IndexOf("WindowsCE") > 0)
{
return "Windows CE";
}
else if (Agent.IndexOf("NT") > 0)
{
return "Windows NT ";
}
else if (Agent.IndexOf("9x") > 0)
{
return "Windows ME";
}
else if (Agent.IndexOf("98") > 0)
{
return "Windows 98";
}
else if (Agent.IndexOf("95") > 0)
{
return "Windows 95";
}
else if (Agent.IndexOf("Win32") > 0)
{
return "Win32";
}
else if (Agent.IndexOf("Linux") > 0)
{
return "Linux";
}
else if (Agent.IndexOf("SunOS") > 0)
{
return "SunOS";
}
else if (Agent.IndexOf("Mac") > 0)
{
return "Mac";
}
else if (Agent.IndexOf("Linux") > 0)
{
return "Linux";
}
else if (Agent.IndexOf("Windows") > 0)
{
return "Windows";
}
return "未知类型";

}


}

kiss筱魔 2012-02-18
  • 打赏
  • 举报
回复

public static string IPAddressAll
{
get
{
string ip = HttpContext.Current.Request.UserHostAddress;
string agentip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if(!string.IsNullOrEmpty(agentip))
{
//有代理
if(agentip.IndexOf(".")==-1)
agentip = null;
if(agentip != null)
{
if(agentip.IndexOf("unknow")!=-1)
agentip = agentip.Replace("unknow", string.Empty);
string[] temparyip = agentip.Replace(" ", string.Empty).Replace("'", string.Empty).Split(new char[] { ',', ';' });
//过滤代理格式中的非IP和内网IP
for (int i = 0; i < temparyip.Length; i++)
{
if (temparyip != string.Empty
&& IsIPAddress(temparyip)
&& temparyip.Substring(0, 3) != "10."
&& temparyip.Substring(0, 7) != "192.168"
&& temparyip.Substring(0, 7) != "172.16.")
{
ip += "," + temparyip;
}
}
}
}
else
{
agentip = null;
}
return ip;
}
}
天刺 2012-02-18
  • 打赏
  • 举报
回复
string userIp = Request.UserHostAddress.ToString();
string ipa=Request .ServerVariables ["REMOTE_ADDR"];
this.Label1.Text = userIp+"a"+ipa;
//主机ip
string hostip = Dns.GetHostName();
IPAddress[] ips;
ips = Dns.GetHostAddresses(hostip);
foreach (IPAddress ip in ips)
{
this.TextBox1.Text = ip.ToString ();
}
EnForGrass 2012-02-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xuzhongxuan 的回复:]

hewansongjuan 你好, 我要的是服务器IP地址, 不是客户端的, 谢谢
[/Quote]

http://topic.csdn.net/u/20100827/11/b4a71038-ee5e-4551-b9d7-70dc4a3029cf.html
是不是代理服务器?
http://blog.csdn.net/xiamin/article/details/4489316
SKY徐 2012-02-18
  • 打赏
  • 举报
回复
hewansongjuan 你好, 我要的是服务器IP地址, 不是客户端的, 谢谢
小河 2012-02-15
  • 打赏
  • 举报
回复
#region 获取客户端IP地址
public static string GetClientIP()
{
string result = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (null == result || result == String.Empty)
{
result = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}


if (null == result || result == String.Empty)
{
result = System.Web.HttpContext.Current.Request.UserHostAddress;
}
return result;
}
#endregion
小河 2012-02-15
  • 打赏
  • 举报
回复
#region 获取客户端IP地址
public static string GetClientIP()
{
string result = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (null == result || result == String.Empty)
{
result = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}


if (null == result || result == String.Empty)
{
result = System.Web.HttpContext.Current.Request.UserHostAddress;
}
return result;
}
#endregion
内容介绍: ASP.NET是微软.NET战略中的一个重要成员,除了可以使用Visual C#、VB.NET、VisualC++.NET、JScript.NET等语言编写外,还可以使用第三方的.NET接口(如COBOL.NET、 Perl.NET等)进行编写。本书通过100个精彩实例,由浅入深介绍了ASP.NET网络程序设计的编程方法与实用技巧。为了方便读者学习与深入理解ASP.NET,本书将这100 个实例分为4篇,即基础编程实例、中级编程实例、高级编程实例与混合编程实例。在每个实例中,除了介绍ASP.NET中所提供的基础知识点及编程技巧外,还介绍了ASP.NET在网络编程、图形编程、多媒体编程、Mobile(移动通信)等方面的重要应用及开发技术。本书附赠一张光盘,其中包括全部100个实例源代码及可执行文件(详细内容请参见光盘中的“本书配套光盘说明.txt”). 本书体系结构清晰,解释说明详尽,开发实例典型,适合于计算机编程用户、网络用户及对ASP.NET感兴趣的用户阅读,也可作为ASP.NET培训参考书。 书籍目录: 第1篇ASP.NET基础编程实例 实例1一个HTML化的ASP.NET程序 实例2ASP+WebForms广告轮换控制过程 实例3驱动器列表应用 实例4列出当前盘上目录和文件 实例5使用“文件预览”显示文件夹信息 实例6使用递归循环以显示目录列表 实例7在ASP.7NET中随意创建图形信息 实例8在ASP.8NET中显示事件日志记录(1) 实例9在ASP.9NET中显示事件日志记录(2) 实例10在ASP.10NET中使用DataGrid分页 实例11在ASP.11NET访问Excel2000/XP文件 实例12显示当前浏览器头信息 实例13利用ASP.NET获取主机名和IP地址 实例14由域名获取其IP地址 实例15由IP地址获得其域名 实例16ASP.NET中的正则表达式应用 实例17主机远程控制与探测应用 实例18ASP.NET控件———AdRotator应用 实例19ASP.NET日历程序 实例20查看主机内存情况 实例21ASP.NET简易应用程序“Hello,22World!” 实例22读取Config.22Web配置文件 实例23显示BrowseCaps配置段内容 实例24写入文件操作与应用 实例25文件读操作及应用 实例26文件删除与应用 实例27ASP.NET中异常处理及其应用 实例28AutoPostBack技术及其应用 实例29用户合法性验证与应用 实例30ASP.30NET列表框应用 实例31Calendar控件操作与应用 实例32用户操作验证与应用 实例33CompareValidator服务器比较控件操作与应用 实例34CustomValidator控件操作与应用 实例35服务器端控件ValidationSummary应用操作 实例36HtmlTable控件操作与应用 实例37在HTML控件中运用样式 实例38在Web服务器控件中运用样式

62,041

社区成员

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

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

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

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