溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

asp.net根據(jù)ip獲得城市地址

發(fā)布時間:2020-08-07 08:15:49 來源:網(wǎng)絡(luò) 閱讀:768 作者:937ii8759 欄目:編程語言

asp.net根據(jù)ip獲得城市地址

Solution 1:

#region 通過IP得到IP所在地省市 
 ///<summary>     
 /// 通過IP得到IP所在地省市(Porschev)     
///</summary>      
///<param name="ip">Ip地址</param>    
///<returns></returns>  
protected string GetAdrByIp(string ip)   {   
     try       
    {          
         string url = "http://www.ip138.com/ips1388.asp?ip=" + ip + "&action=2";                  string regStr = "(?<=<ul class=\\\"ul1\\\"><li>.*:).*(?=\\s.*</li><li>)";               string html = GetHtml(url);       
         //得到網(wǎng)頁源碼       
         Regex reg = new Regex(regStr, RegexOptions.None);      
         Match ma = reg.Match(html);             
         return    ma.Value.Substring(ma.Value.IndexOf("省") + 1).Trim();         
     }      
      catch          
     {        
           return "";          
      }    
}  
#endregion #region 獲取HTML源碼信息 
///<summary>   
/// 獲取HTML源碼信息(Porschev)  
///</summary>   
///<param name="url">獲取地址</param>      
///<returns>HTML源碼</returns>  
 protected string GetHtml(string url)  {             
    string _value = "";            
    HttpWebRequest req;          
    HttpWebResponse res;         
    Stream ReceiveStream;          
    StreamReader sr;            
    req = (HttpWebRequest)WebRequest.Create(url);       
    req.Method = "GET";      
    req.KeepAlive = false;        
    req.Referer = url;          
    req.UserAgent = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)";          
   res = req.GetResponse() as HttpWebResponse;        
   ReceiveStream = res.GetResponseStream();           
   sr = new StreamReader(ReceiveStream, Encoding.GetEncoding("GB2312"));    
   _value = HttpUtility.UrlDecode(sr.ReadToEnd());      
   sr.Close();       
   ReceiveStream.Close();        
   res.Close();       
   return _value;         
  } 
 #endregion

Tips 1:

/// <summary>    
/// 獲取用戶ip地址,避免ip代理  
/// </summary>   
/// <returns>用戶ip地址</returns>   
public string GetIp()    {        
           string result = String.Empty;        
           result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];            if (string.IsNullOrEmpty(result))     
            {                
               result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];                  }            
             if (string.IsNullOrEmpty(result))      
            {   
               result = HttpContext.Current.Request.UserHostAddress; 
             }                  
               return result;      
                                    
  }




向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI