zoukankan      html  css  js  c++  java
  • 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.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:                       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>
  • 相关阅读:
    当Django模型迁移时,报No migrations to apply 问题时
    django--各个文件的含义
    django--创建项目
    1013. Battle Over Cities (25)
    1011. World Cup Betting (20)
    1009. Product of Polynomials (25)
    1007. Maximum Subsequence Sum (25)
    1006. Sign In and Sign Out (25)
    1008. Elevator (20)
    1004. Counting Leaves (30)
  • 原文地址:https://www.cnblogs.com/yequan/p/1456139.html
Copyright © 2011-2022 走看看