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=¼¼Êõ
  
  
  
  
  
  正确的方法是: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/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: www.test.com
  
  
  Request.Url.LocalPath: /testweb/default.aspx
  
  
  
  2、通过JS获取
  
  
  
  






























































































































































































           <script>               thisURL = document.URL;               thisHREF = document.location.href;               thisSLoc = self.location.href;               thisDLoc = document.location;               strwrite = "
thisURL: [" + thisURL + "]
"               strwrite += "
thisHREF: [" + thisHREF + "]
"               strwrite += "
thisSLoc: [" + thisSLoc + "]
"               strwrite += "
thisDLoc: [" + thisDLoc + "]
"               document.write( strwrite );            </script>               thisDLoc = document.location;            thisURL = document.URL;            thisHREF = document.location.href;            thisSLoc = self.location.href;            <script>               thisTLoc = top.location.href;               thisPLoc = parent.document.location;               thisTHost = top.location.hostname;               thisHost = location.hostname;               strwrite = "
thisTLoc: [" + thisTLoc + "]
"               strwrite += "
thisPLoc: [" + thisPLoc + "]
"               strwrite += "
thisTHost: [" + thisTHost + "]
"               strwrite += "
thisHost: [" + thisHost + "]
"               document.write( strwrite );            </script>               thisTLoc = top.location.href;            thisPLoc = parent.document.location;            thisTHost = top.location.hostname;            thisHost = location.hostname;            <script>               tmpHPage = thisHREF.split( "/" );               thisHPage = tmpHPage[ tmpHPage.length-1 ];               tmpUPage = thisURL.split( "/" );               thisUPage = tmpUPage[ tmpUPage.length-1 ];               strwrite = "
thisHPage: [" + thisHPage + "]
"               strwrite += "
thisUPage: [" + thisUPage + "]
"               document.write( strwrite );            </script>

  
  
  
  =================
  
  
  获取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获取
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  
  
MAC地址:
  
  
IP地址:
  
  
主机名:
  
  

  
  
  
  
  
  
  
  <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>

本文转自
http://www.cnblogs.com/RuiLei/archive/2007/03/03/662676.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值