ASP.NET以及JS获取URL和IP地址的常用方法

 


asp.net中获取当前url的方法

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=¼¼Êõ


正确的方法是:HttpContext.Current.Request.Url.PathAndQuery1、通过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\testwebRequest.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:                       http: // 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 >
 

你可能感兴趣的:(asp.net)