`

如何获取客户IE统计信息

    博客分类:
  • C#
阅读更多
namespace Huawei.com
{

 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;
   }        
  }


分享到:
评论

相关推荐

    asp.net知识库

    在Asp.net中如何用SQLDMO来获取SQL Server中的对象信息 使用Relations建立表之间的关系并却使用PagedDataSource类对DataList进行分页 通过作业,定时同步两个数据库 SQLSERVER高级注入技巧 利用反射实现ASP.NET控件和...

    客户关系管理系统

    (1) 管理范围:客户信息管理、产品信息管理、销售机会及跟进管理、订单管理、客户回访管理、客户反馈管理、客户报修管理、产品库存管理。 (2) 可扩展管理范围:系统具有极强的灵活性,可自由增减其它管理...

    里诺CRM客户关系管理系统(B/S版) v2.50.zip

    2、对客户信息进行有效的管理,构建和维护“有价值”的客户关系,提高企业运作效率。 3、通过不断的分析和统计客户需求、消费行为、经济状况,提高企业核心竞争力。 4、通过使用分析和统计报表,更加方便的为决策...

    1.客户关系管理系统

    (1) 管理范围:客户信息管理、产品信息管理、销售机会及跟进管理、订单管理、客户回访管理、客户反馈管理、客户报修管理、产品库存管理。 (2) 可扩展管理范围:系统具有极强的灵活性,可自由增减其它管理...

    里诺CRM客户关系管理系统(B/S版) v2.50

    2、对客户信息进行有效的管理,构建和维护“有价值”的客户关系,提高企业运作效率。 3、通过不断的分析和统计客户需求、消费行为、经济状况,提高企业核心竞争力。 4、通过使用分析和统计报表,更加方便的为决策...

    华创客户关系管理(CRM)

    具有手机短信及来电弹屏功能的客户关系管理系统,全面管理从第一次接触到实现交易到售后服务的整个过程,为各类人员提供一个信息共享和沟通的平台,为管理者提供一个监督、统计业务数据的手段,帮助您改善客户关系、...

    CSS 在IE6, IE7 和IE8中的差别

    根据这些令人遗憾的统计结果,在为客户开发网站的时候开发人员对所有当前使用的IE浏览器做全面的测试是必要的,而且这样在个人项目上也可以拉拢更多的用户。 多谢那些JavaScript库(框架),跨浏览器的Javascript的...

    思康客户管理系统商业版.rar

    2.企业新闻列表\企业公告列表\共享文件列表\共享网址列表\内部员工通讯\在线...在IE中可以全屏显示,因为我用的是傲游,无法使用,谢谢!! 软件版本属思康软件公司所有,未经允许不得从事商业出售及免费赠送他人使用.

    CSS对IE6、IE7、IE8支持详细的易用的参考

    根据这些令人遗憾的统计结果,在为客户开发网站的时候开发人员对所有当前使用的IE浏览器做全面的测试是必要的,而且这样在个人项目上也可 中文原文:CSS在Internet Explorer 6, 7 和8中的差别译自:CSS Differences ...

    华创客户关系管理系统(CRM) V5.4

    软件介绍:具有手机短信及来电弹屏功能的客户关系管理系统,全面管理从第一次接触到实现交易到售后服务的整个过程,为各类人员提供一个信息共享和沟通的平台。 主要特点:通用型设计,个性化应用;灵活实用,可按需...

    企业商务进销存网络版2

    本系统具有七种报表统计功能:定时定货进库统计(只统计从客户进货记录),定时定货出库统计(只统计销给用户),库存金额,定时毛利统计,定时作废进库统计,定时作废出库统计和定时出库性质统计。 本系统具有...

    一款《华创通用信息系统》,各种信息管理,全部搞定!

    很快就得到市场的广泛认同,系统已应用于政府、企业、学校、医院等众多不同领域,如:客户管理、定单管理、售后服务、人事薪资、固定资产、项目管理、房地产管理、学籍管理、档案管理、信息报送管理等,以及任何其它...

    Easycrm v2011 beta 2.0 公测版.rar

    修复客户信息分页错误;  03.修复新增等级不能显示等级名称;  04.修复管理员修改员工客户数据的归属权;  05.修复高级搜索页在IE下JS报错;  06.修复所有客户页面模糊搜索权限范围;  07.修复大数据量的...

    ASP.NET2.0轻松搞定统计图表.doc

    在一个intranet环境中,如果可以假设客户机上存在特定的浏览器和一些功能强大的软件(如IE6和Office 2000/XP/2003),那么就有能力利用Office Web组件提供一个交互式图形开发环境。这种模式下,客户端工作站将在整个...

    jsp九大内置对象

     1.03 getServletPath() 获取客户提交信息的页面。  String strServlet=request.getServletPath()  1.04 getMethod() 获取客户提交信息的方式,get|post。  String strMethod =request.getMethod()  1.05 ...

    JS基于cookie实现来宾统计记录访客信息的方法

    本文实例讲述了JS基于cookie实现来宾统计记录访客信息的方法。分享给大家供大家参考。具体如下: 这里使用JavaScript记录访客的来宾信息,记录是第几次来访,显示的信息有:您的名字;您浏览该网页的次数;您上次浏览...

    无忧购物系统ASP专业版 无忧购物网源码

    7、统计信息模块 ☉ 访问量设置 ☉ 数据库备份 ☉ 数据库压缩 ☉ 服务器参数 ☉ 空间占用量 8、程序信息模块 ☉ 版权信息 无忧购物系统ASP专业版 v2014.5.22 更新日志: 修复前台动画在IE9.0以上无法正常显示,...

    企业网站设计-CRM-课设

    CRM软件的基本功能包括客户管理、联系人管理、时间管理、潜在客户管理、销售...客户信息管理模块 产品信息管理模块 销售流程管理模块 合同管理模块 客户服务管理模块 数据统计分析管理模块 报表管理模块 网站管理模块

    《华创售后服务管理系统》

    (6)手机短信支持:系统能与手机集成,可运用系统中的数据生成各种重要通知、生日祝福、业务资料、业务进展等信息,用手机短信的形式发送给员工、发送给客户,及时、主动地进行信息沟通。 (7)来电弹屏功能:客户...

Global site tag (gtag.js) - Google Analytics