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>
  • 相关阅读:
    Java程序:从命令行接收多个数字,求和并输出结果
    大道至简读后感
    大道至简第一章读后感Java伪代码
    Creating a SharePoint BCS .NET Connectivity Assembly to Crawl RSS Data in Visual Studio 2010
    声明式验证超时问题
    Error message when you try to modify or to delete an alternate access mapping in Windows SharePoint Services 3.0: "An update conflict has occurred, and you must re-try this action"
    Upgrading or Redeploying SharePoint 2010 Workflows
    Upgrade custom workflow in SharePoint
    SharePoint 2013中Office Web Apps的一次排错
    How to upgrade workflow assembly in MOSS 2007
  • 原文地址:https://www.cnblogs.com/yequan/p/1456139.html
Copyright © 2011-2022 走看看