asp.net根据ip获得城市地址
Solution 1:
#region通过IP得到IP所在地省市///<summary>///通过IP得到IP所在地省市(Porschev)///</summary>///<paramname="ip">Ip地址</param>///<returns></returns>protectedstringGetAdrByIp(stringip){try{stringurl="http://www.ip138.com/ips1388.asp?ip="+ip+"&action=2";stringregStr="(?<=<ulclass=\\\"ul1\\\"><li>.*:).*(?=\\s.*</li><li>)";stringhtml=GetHtml(url);//得到网页源码Regexreg=newRegex(regStr,RegexOptions.None);Matchma=reg.Match(html);returnma.Value.Substring(ma.Value.IndexOf("省")+1).Trim();}catch{return"";}}#endregion#region获取HTML源码信息///<summary>///获取HTML源码信息(Porschev)///</summary>///<paramname="url">获取地址</param>///<returns>HTML源码</returns>protectedstringGetHtml(stringurl){string_value="";HttpWebRequestreq;HttpWebResponseres;StreamReceiveStream;StreamReadersr;req=(HttpWebRequest)WebRequest.Create(url);req.Method="GET";req.KeepAlive=false;req.Referer=url;req.UserAgent="Mozilla/5.0(compatible;MSIE10.0;WindowsNT6.1;WOW64;Trident/6.0)";res=req.GetResponse()asHttpWebResponse;ReceiveStream=res.GetResponseStream();sr=newStreamReader(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>publicstringGetIp(){stringresult=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;}returnresult;}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。