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

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

转载于:https://www.cnblogs.com/Fernando/archive/2007/11/19/964597.html

asp.net获取URL和IP地址相关推荐

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

    HttpContext.Current.Request.Url.ToString() 并不可靠. 如果当前URL为  http://localhost/search.aspx?user=http:// ...

  2. ASP如何获取客户端真实IP地址

    在ASP中使用 Request.ServerVariables("REMOTE_ADDR") 来取得客户端的IP地址, 但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的 ...

  3. 如何获取外网IP地址

    1.  获取外网IP的方法: 获取外网IP地址方法: 访问网站:http://www.3322.org/dyndns/getip 访问网站:http://city.ip138.com/ip2city. ...

  4. 获取客户端真实IP地址

    Java-Web获取客户端真实IP: 发生的场景:服务器端接收客户端请求的时候,一般需要进行签名验证,客户端IP限定等情况,在进行客户端IP限定的时候,需要首先获取该真实的IP. 一般分为两种情况: ...

  5. Java 网络实例一(获取指定主机的IP地址、查看端口是否已使用、获取本机ip地址及主机名、获取远程文件大小)

    获取指定主机的IP地址 import java.net.InetAddress; import java.net.UnknownHostException;public class GetIP {pu ...

  6. 如何使用JavaScript获取客户端的IP地址?

    我需要以某种方式使用JavaScript检索客户端的IP地址: 没有服务器端代码,甚至没有SSI. 但是,我不反对使用免费的第三方脚本/服务. #1楼 在您的页面中包含以下代码: <script ...

  7. springboot 获取访问者的ip地址、访问设备信息、城市地址信息

    1.获取访问者的ip地址: 不多说直接上代码,详解见注释 package com.xr.util;import lombok.extern.slf4j.Slf4j;import javax.servl ...

  8. 前端Vue中获取本机ip地址

    前端Vue中获取本机ip地址 1.打开谷歌浏览器,地址栏输入chrome://flags,进入. 2.搜索Anonymize local IPs exposed by WebRTC,将其设置为Disa ...

  9. 在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr() ,这种方法在大部分情况下都是有效的。但是在通过了Apache,Squi...

    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr() ,这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实 ...

最新文章

  1. 区块链共识算法:PoS即权益证明 DPoS委托授权的权益证明
  2. python爬取csdn排名积分等信息
  3. Cython——Windows环境下配置faster-rcnn、yolo、ctpn等目标检测框架中Cython文件[cython_nms、bbox、gpu_nms]编译问题解决方案
  4. 初学scrum及首次团队开发
  5. 漫画:如何实现大整数相乘?(上)
  6. redis配置文件参数详解
  7. SQL Server 2017 AlwaysOn AG 自动初始化(十二)
  8. 笨办法学 Python · 续 练习 19:改善性能
  9. Delphi:校验手机号及身份证号
  10. 当云原生遇上低代码,云端开发so easy!
  11. call指令和ret指令(1001)
  12. QT.pro工程文件中判断宏定义是否存在
  13. 关于位域如何节省内存(C++)
  14. Linux下汇编语言学习笔记23 ---
  15. Drools规则引擎的基本使用
  16. iOS 开发 XMPP即时通讯项目开发(仿微信)-详解之XMPP入门
  17. 基于ExtendSim的六西格玛银行排队模型
  18. Exception: ROM is missing for xxxx, see https://github.com/openai/atari-py 强化学习安装Atari环境时ROMS丢失解决办法
  19. python读取定位_如何使用python定位和读取Data Matrix代码
  20. r5 3500u和r5 4500u的区别

热门文章

  1. android camera 废弃,Android相机android.hardware.Camera已弃用
  2. 小红书MVP系统架构与技术选型(一)
  3. JavaScript基础语法_JavaScript内置对象
  4. 简单易上手的理财方法介绍
  5. 从孙子兵法理解围棋大龙攻杀的要诀: 攻守双方口诀
  6. 来聊一聊那个很牛逼的极光推送
  7. 小白学Linux笔记(一)——安装虚拟机和Ubuntu
  8. 百度搜索引擎接口测试报告
  9. python tkinter insert函数_Python3 tkinter基础 Entry insert delete 点击按钮 向输入框赋值 或 清空...
  10. VS2012及帮助(MSDN离线版)文档官网下载