获取客户IE

 public class sitecounter : System.Web.UI.UserControl
 {
  public string VisitedIP;//获取IP
  public  string VisitedAddress;//获取地址
  public  string VisitedIplocal;//获取上网方式
  public string VisitedMethod;//获取浏览途径
  public string VisitedRefer;//获取上次访问URL
  public string VisitedIe;//获取IE版本
  public string VisitedSystem;//获取操作系统
  public AboutCounter counterabout=new AboutCounter();
  public int AddResult;
  public int EditResult;
  public int Cyear;
  public int Cmonth;
  public int Cday;
  public int CountMonth;
  private void Page_Load(object sender, System.EventArgs e)
  {
   if (Request.Cookies[“havecount“]==null)
   {
    Response.Cookies[“havecount“].Value=“yes“;
    //获取用户真实IP
    if(Request.ServerVariables[“HTTP_VIA“]!=null)
    {
     VisitedIP=Request.ServerVariables[“HTTP_X_FORWARDED_FOR“].ToString();
    }
    else
    {
     if (Request.ServerVariables[“HTTP_VIA“]!=null)
     {
      VisitedIP=Request.ServerVariables[“HTTP_X_FORWARDED_FOR“].ToString();
     }
     else
     {
      VisitedIP=Request.ServerVariables[“REMOTE_ADDR“].ToString();
     }

    }
    //end 已经获取VisitedIP
    //根据IP判断来自何处
    StringBuilder strResult = new StringBuilder();
    string[] strip = VisitedIP.Split(’.’);
    foreach (string strips in strip)
    {
     if (strips.Length==1)
     {
      strResult.Append(“00“);
      strResult.Append(strips);
      strResult.Append(“.“);
     }
     if (strips.Length==2)
     {
      strResult.Append(“0“);
      strResult.Append(strips);
      strResult.Append(“.“);
     }
     if (strips.Length==3)
     {
      strResult.Append(strips);
      strResult.Append(“.“);
     }
    }
    string finalip=strResult.ToString().Substring(0,15).Trim();
    int pid=(int)counterabout.SelectUserIplocalA(finalip);
    if (pid!=0)
    {
     DataSet dsaddress=new DataSet();
     dsaddress=counterabout.SelectUserIplocalD(“Count_Iplocal“,finalip);
     VisitedAddress=dsaddress.Tables[“Count_Iplocal“].Rows[0][0].ToString();
     VisitedIplocal=dsaddress.Tables[“Count_Iplocal“].Rows[0][1].ToString();
    }
    else
    {
     VisitedAddress=“未知IP地址“;
    }
    //已经获取VisitedAddress,VisitedIplocal
    //获取结束
    //获取用户访问途径
    //获取上页访问URL
    ViewState[“url“]=Request.UrlReferrer;
    Uri VisitedUrl=(Uri)ViewState[“url“];
    //判断来源
    if (ViewState[“url“]!=null)
    {
     string[,] Usercome =  { {“sina.com.cn“,“新浪搜索“}, {“sohu.com“,“搜狐搜索“}, {“baidu.com“,“百度搜索“}, {“online.sh.cn“,“上海热线“}, {“163.com“,“网易搜索“}, {“yahoo.com“,“Yahoo“}, {“21cn.com“,“21cn搜索“}, {“google.com“,“Google“}, {“china.com“,“中华网“}
     int LengthOfusercome = Usercome.GetLength(0);
     for (int i=0;i〈LengthOfusercome;i++)
     {
      for(int j=0;j〈2;j++)
      {
       int ifcheck=VisitedUrl.ToString().IndexOf(Usercome[i,0]);
       if (ifcheck〉=0)
        VisitedMethod=Usercome[i,1];
      }
     }
     if (VisitedMethod==null)
     {
      VisitedMethod=“其他位置“;
     }
     VisitedRefer=ViewState[“url“].ToString();
    }
    else
    {
     VisitedMethod=“域名输入“;
     VisitedRefer=““;
    }
    //已经获取VisitedMethod
    VisitedIe=User.Agent(1);
    VisitedSystem=User.Agent(2);

    //Response.Write(VisitedIP+“〈br〉“);//获取IP
    //Response.Write(VisitedAddress+“〈br〉“);//获取地址
    //Response.Write(VisitedIplocal+“〈br〉“);//获取上网方式
    //Response.Write(VisitedMethod+“〈br〉“);//获取浏览途径
    // Response.Write(VisitedRefer+“〈br〉“);//获取上次访问URL
    //Response.Write(VisitedIe+“〈br〉“);//获取IE版本
    //Response.Write(VisitedSystem+“〈br〉“);//获取操作系统
    //将数据添加到用户访问信息中
    AddResult=(int)counterabout.AddUserInfor(VisitedIP,DateTime.Now.ToString(),VisitedAddress,VisitedIplocal,VisitedRefer,VisitedIe,VisitedSystem);
    Cyear = Convert.ToInt32(Convert.ToDateTime(DateTime.Now).ToString(“yyyy“));
    Cmonth =Convert.ToInt32(Convert.ToDateTime(DateTime.Now).ToString(“MM“));
    Cday = Convert.ToInt32(Convert.ToDateTime(DateTime.Now).ToString(“dd“));
    CountMonth=Convert.ToInt32(Convert.ToDateTime(DateTime.Now).ToString(“yyyyMM“));

    //添加年记录
    int pyear=(int)counterabout.SelectCountYearA(Cyear);
    if (pyear==0)
    {
     AddResult=(int)counterabout.AddYear(Cyear);
    }
    EditResult=(int)counterabout.EditYear(Cyear,Cmonth);
    //至此结束
    //添加月记录
    int pmonth=(int)counterabout.SelectCountMonthC(CountMonth);
    if (pmonth==0)
    {
     AddResult=(int)counterabout.AddMonth(CountMonth);
    }
    EditResult=(int)counterabout.EditMonth(CountMonth,Cday);
    //至此结束
    //添加Browser.os.local,sute
    int pcount1=(int)counterabout.SelectCountBOL(“Count_Browser“,VisitedIe);
    if (pcount1==0)
    {
     AddResult=(int)counterabout.AddBOL(“Count_Browser“,VisitedIe);
    }
    EditResult=(int)counterabout.EditBOLE(“Count_Browser“,VisitedIe);
    //
    int pcount2=(int)counterabout.SelectCountBOL(“Count_Os“,VisitedSystem);
    if (pcount2==0)
    {
     AddResult=(int)counterabout.AddBOL(“Count_Os“,VisitedSystem);
    }
    EditResult=(int)counterabout.EditBOLE(“Count_Os“,VisitedSystem);
    //
    int pcount3=(int)counterabout.SelectCountBOL(“Count_Local“,VisitedAddress);
    if (pcount3==0)
    {
     AddResult=(int)counterabout.AddBOL(“Count_Local“,VisitedAddress);
    }
    EditResult=(int)counterabout.EditBOLE(“Count_Local“,VisitedAddress);
    //
    int pcount4=(int)counterabout.SelectCountBOL(“Count_Site“,VisitedMethod);
    if (pcount4==0)
    {
     AddResult=(int)counterabout.AddBOL(“Count_Site“,VisitedMethod);
    }
    EditResult=(int)counterabout.EditBOLE(“Count_Site“,VisitedMethod);
    //至此结束
   }
   else
   {
    //Response.Write(“已经统计“);
   }
  }
  public class User//获取用户操作系统和浏览器版本
  {
   public static string Agent(int intNum)
   {
    string strResult = null;
    strResult = HttpContext.Current.Request.UserAgent.Split(’;’)[intNum].Trim().Replace(“(“, ““).Replace(“)“, ““);
    switch (intNum)
    {
     case 1:
      strResult = Browser(strResult);
      break;
     case 2:
      strResult = System(strResult);
      break;
    }
    return strResult;
   }

   public static string System(string strPara)
   {
    string strResult = null;
    switch (strPara)
    {
     case “Windows 4.10“:
      strResult = “Windows 98“;
      break;
     case “Windows 4.9“:
      strResult = “Windows Me“;
      break;
     case “Windows NT 5.0“:
      strResult = “Windows 2000“;
      break;
     case “Windows NT 5.1“:
      strResult = “Windows XP“;
      break;
     case “Windows NT 5.2“:
      strResult = “Windows Server 2003“;
      break;
     default:
      strResult = “其他系统“;
      break;
    }
    return strResult;
   }

   public static string Browser(string strPara)
   {
    string strResult = null;
    strResult = strPara.Replace(“MSIE“, “Internet Explorer“);
    return strResult;
   }
  }

 }
posted on 2006-08-07 11:12  IORICC  阅读(317)  评论(2编辑  收藏  举报