asp.net获取URL和IP地址 (转)

HttpContext.Current.Request.Url.ToString() 并不可靠。

 如果当前URL为  http: //localhost/search.aspx?user=http://csharp.xdowns.com&tag=%BC%BC%CA%F5  

通过HttpContext.Current.Request.Url.ToString()获取到的却是   http://localhost/search.aspxuser=http://csharp.xdowns.com&tag=¼¼Ê&otilde  

正确的方法是:HttpContext.Current.Request.Url.PathAndQuery

1、通过ASP.NET获取  如果测试的url地址是http:, 结果如下://www.test.com/testweb/default.aspx

Request.ApplicationPath:                           /testweb                  

Request.CurrentExecutionFilePath:         /testweb/default.aspx            

Request.FilePath:                                        /testweb/default.aspx            

Request.Path:                                              /testweb/default.aspx

Request.PhysicalApplicationPath:          E:/WWW/testweb                                        

Request.PhysicalPath:                              E:/WWW/testweb/default.aspx                          

Request.RawUrl:                                       /testweb/default.aspx                              

Request.Url.AbsolutePath:                      /testweb/default.aspx                                     

Request.Url.AbsoluteUrl:                         http://www.test.com/testweb/default.aspx

Request.Url.Host:                                     www.test.com                                                  

Request.Url.LocalPath:                            /testweb/default.aspx  

 2、通过JS获取                                                                                                    

<table width=100% cellpadding=0 cellspacing=0 border=0 >                                                                          

<script>

thisURL = document.URL;    

thisHREF = document.location.href;                                                                                         

thisSLoc = self.location.href;                                                                                                   

thisDLoc = document.location;                                                                      

strwrite = "<tr><td valign=top>thisURL: </td><td>[" + thisURL + "]</td></tr>"  

strwrite += "<tr><td valign=top>thisHREF: </td><td>[" + thisHREF + "]</td></tr>"  

strwrite += "<tr><td valign=top>thisSLoc: </td><td>[" + thisSLoc + "]</td></tr>"  

strwrite += "<tr><td valign=top>thisDLoc: </td><td>[" + thisDLoc + "]</td></tr>"     

document.write( strwrite );                    

 </script>                                                                                                                                       

thisDLoc = document.location;            <BR> 

thisURL = document.URL; <BR>                                                                               

 thisHREF = document.location.href; <BR>                       

 thisSLoc = self.location.href;<BR>                                                                                    

 <script>   thisTLoc = top.location.href;   thisPLoc = parent.document.location;  

thisTHost = top.location.hostname;   thisHost = location.hostname;  

strwrite = "<tr><td valign=top>thisTLoc: </td><td>[" + thisTLoc + "]</td></tr>"  

strwrite += "<tr><td valign=top>thisPLoc: </td><td>[" + thisPLoc + "]</td></tr>"  

strwrite += "<tr><td valign=top>thisTHost: </td><td>[" + thisTHost + "]</td></tr>"  

strwrite += "<tr><td valign=top>thisHost: </td><td>[" + thisHost + "]</td></tr>"    

 document.write( strwrite );  

 </script>                                                                        

thisTLoc = top.location.href; <BR>  thisPLoc = parent.document.location; <BR> 

thisTHost = top.location.hostname; <BR>  thisHost = location.hostname;<BR>  <script>  

tmpHPage = thisHREF.split( "/" );                                                           

thisHPage = tmpHPage[ tmpHPage.length-1 ];                                                                            

tmpUPage = thisURL.split( "/" );      

thisUPage = tmpUPage[ tmpUPage.length-1 ];  

strwrite = "<tr><td valign=top>thisHPage: </td><td>[" + thisHPage + "]</td></tr>"  

strwrite += "<tr><td valign=top>thisUPage: </td><td>[" + thisUPage + "]</td></tr>"                                    

document.write( strwrite );   </script><tr><td>    

 ================= 获取IP                                                             

1、ASP.NET中获取  获取服务器的IP地址:    

using System.Net;                                                                            

 string myIP,myMac;                                                                              

System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList; 

if ( addressList.Length>1)                                                                                                                      

{                                                                                                                                                                                  

myIP = addressList[0].ToString();                                                                                                                 

myMac = addressList[1].ToString();          }          

 else 

 {    myIP = addressList[0].ToString();   

 myMac = "没有可用的连接"; }  

myIP地址就是服务器端的ip地址。  获取客户端的ip地址,可以使用 //获取登录者

ip地址 string ip = Request.ServerVariables["REMOTE_ADDR"].ToString(); 

2、通过JS获取

<html>

<head>

<title></title>

<meta http-equiv="Content-Type" content="text/html; charset=gbk"> </head> 

<body> 

<object classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" id="locator" style="display:none;visibility:hidden"></object> <object classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223" id="foo" style="display:none;visibility:hidden"></object>  

<form name="myForm">   <br/>

MAC地址:<input type="text" name="macAddress">   

<br/>IP地址:

<input type="text" name="ipAddress">   <br/>

主机名:<input type="text" name="hostName"> </form>  </body>

</html>

<script language="javascript"> 

  var sMacAddr="";  var sIPAddr="";  var sDNSName="";   

 var service = locator.ConnectServer();   service.Security_.ImpersonationLevel=3;  

 service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');  </script> 

<script FOR="foo" EVENT="OnObjectReady(objObject,objAsyncContext)" LANGUAGE="JScript"> 

 if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true)

{  

  if(objObject.IPEnabled && objObject.IPAddress(0!=null && objObject.IPAddress(0!= "undefined")  

   sIPAddr = objObject.IPAddress(0);    

if(objObject.MACAddress != null &&objObject.MACAddress != "undefined")  

 sMacAddr = objObject.MACAddress;  

  if(objObject.DNSHostName != null &&objObject.DNSHostName != "undefined")  

  sDNSName = objObject.DNSHostName; }

</script> 

 <script FOR="foo" EVENT="OnCompleted(hResult,pErrorObject, pAsyncContext)" LANGUAGE="JScript"> 

myForm.macAddress.value=sMacAddr;  

 myForm.ipAddress.value=sIPAddr;     

  myForm.hostName.value=sDNSName;

 </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值