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.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>
  • 相关阅读:
    pat 甲级 1065. A+B and C (64bit) (20)
    pat 甲级 1064. Complete Binary Search Tree (30)
    pat 甲级 1010. Radix (25)
    pat 甲级 1009. Product of Polynomials (25)
    pat 甲级 1056. Mice and Rice (25)
    pat 甲级 1078. Hashing (25)
    pat 甲级 1080. Graduate Admission (30)
    pat 甲级 团体天梯 L3-004. 肿瘤诊断
    pat 甲级 1099. Build A Binary Search Tree (30)
    Codeforce 672B. Different is Good
  • 原文地址:https://www.cnblogs.com/RuiLei/p/662676.html
Copyright © 2011-2022 走看看