using System; using System.Collections.Generic; using System.Linq; using System.Web; /// /// ip 的摘要描述 /// /// namespace MyWeb { public class ip:function { public ip() { // // TODO: 在這裡新增建構函式邏輯 // } public static string Get() { string myip = HttpContext.Current.Request.UserHostAddress; if (myip == "::1") myip = "127.0.0.1"; return myip; } //由ip取得國別 public string nation(string DefNation="") { language lang = new language(); string nation = DefNation != "" ? DefNation : lang.defaultNation(); string myip = Get(); string cname = "ip_" + myip.Replace(".", "_"); //清除之前暫存其它ip List clearItem = new List(); foreach (string item in HttpContext.Current.Request.Cookies) if (item.Split('_')[0] == "ip" && item != cname) clearItem.Add(item); foreach (string item in clearItem) HttpContext.Current.Response.Cookies[item].Expires = DateTime.Now.AddDays(-1); if (myip != "127.0.0.1") { if (HttpContext.Current.Request.Cookies[cname] != null) { nation = HttpContext.Current.Request.Cookies[cname].Value; } else { string[] data = WRequest("http://ip2c.org/" + myip, Method.GET , "").data.Split(';'); //1;TW;TWN;Taiwan; Republic of China (ROC) if (data[0] == "1" && data.Length >= 2) { nation = data[1]; HttpContext.Current.Response.Cookies[cname].Value = nation; HttpContext.Current.Response.Cookies[cname].Expires = DateTime.Now.AddDays(3); } } } if (!isStrNull(lang.Text(nation))) { //網站有對應的語系 return nation; } else { //網站沒對應的語系,傳回指定預設的語系 return DefNation != "" ? DefNation : lang.defaultNation(); } } } }