怎么做一个统计网站被浏览次数。。最好能提供代码具体详细方法。最好还能知道她是从哪个网站接入过来的。

解决方案 »

  1.   

    你只是统计一个页面的话,用数据库记录次数 就在 
    page_load 
    里面加 
    if(!Page.IsPostBack) 

    更新次数的代码。 

    这样每次刷新页面,会增加一次。 
      

  2.   

    数据库增加一个字段,pageload一次就+1
      

  3.   

    来路分析:
    Request.UrlReferrer:获取有关客户端上次请求的 URL 的信息,该请求链接到当前的 URL。 
    下面的代码示例显示将客户端引用到当前应用程序的 URL 的两个属性值。 Uri MyUrl = Request.UrlReferrer;
     Response.Write("Referrer URL Port: " + Server.HtmlEncode(MyUrl.Port.ToString()) + "<br>");
     Response.Write("Referrer URL Protocol: " + Server.HtmlEncode(MyUrl.Scheme) + "<br>");
      

  4.   

    http://www.51aspx.com/CV/webStat/
    参考下
      

  5.   

    你只是统计一个页面的话,用数据库记录次数 就在 
    page_load 
    里面加 
    if(!Page.IsPostBack) 

    更新次数的代码。 

    这样每次刷新页面,会增加一次。 
      

  6.   

    做一个添加统计的页面,然后用img src 放在一个页的最后。这样就能 统计啦。
      

  7.   

    zengzhan..你能提供一个具体的例子吗?我新手
      

  8.   

    看看这个
    这个只支持 aspxhttp://www.mybuffet.cn/html/0/168.htm,如果是htm呢,可以写javascript     if (window.location.toString().indexOf(".htm", 0) > 0){
            var yourhtm_url = "your_html.aspx?htmurl=" + escape(window.location.toString()) + "&ref=" + escape(document.referrer.toString());
            if (window.location.toString().indexOf(".htm", 0) > 0)
            {
                yourAjaxRequest(yourhtm_url, null);
            }
        }在web.config中写
    <httpHandlers>
    <add verb="*" path="your_html.aspx" type="yourWeb.your_html,yourWeb"/>
    </httpHandlers>写类似下面的ashx 处理程序
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Services;
    using System.Text;
    using System.Net;
    using System.IO;
    using MyData_object;
    using System.Configuration;
    using System.Web.Configuration;
    namespace yourWeb
    {
        [WebService(Namespace = "http://tempuri.org/")]
        [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
        public class your_html : IHttpHandler
        {
            public void ProcessRequest(HttpContext context)
            {
                try 
                {
                    if (context.Request.QueryString["htmurl"] != null)
                    {
                        try
                        {
                            HttpRequest request = context.Request;
                            string UrlReferrer = "";
                            string UrlReferrerHost = "";
                            if (context.Request.QueryString["ref"] != null && context.Request.QueryString["ref"]!="")
                            {
                                UrlReferrer = context.Request.QueryString["ref"].ToString();
                                UrlReferrerHost = UrlReferrer.Substring(UrlReferrer.IndexOf("//") + 2, UrlReferrer.IndexOf("/", UrlReferrer.IndexOf("//") + 2) - UrlReferrer.IndexOf("//") - 2);
                            }
                            //穿过代理服务器取远程用户真实IP地址:
                            string str_Address = "";
                            //if (HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
                            //    str_Address = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
                            //else
                            //{
                            //str = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
                            str_Address = HttpContext.Current.Request.UserHostAddress;
                            //}                        HttpBrowserCapabilities bc = new HttpBrowserCapabilities();
                            bc = HttpContext.Current.Request.Browser;
                            string Xt = bc.Platform;
                            string Browser = bc.Type;
                            string url = context.Request.QueryString["htmurl"].ToString().Replace("http://" + context.Request.Url.Authority.ToString(), "");
                            string zzm = "";
                            Boolean zz = false;
                            if (Global.ODCm != null)
                            {
                                Global.ODCm.Parameters["@Address"].Value = str_Address;
                                Global.ODCm.Parameters["@url"].Value = url;
                                Global.ODCm.Parameters["@UrlRefHost"].Value = UrlReferrerHost;
                                Global.ODCm.Parameters["@UrlRef"].Value = UrlReferrer;
                                Global.ODCm.Parameters["@Xt"].Value = Xt;
                                Global.ODCm.Parameters["@Browser"].Value = Browser;
                                Global.ODCm.Parameters["@zz"].Value = zz;
                                Global.ODCm.Parameters["@zzName"].Value = zzm;
                                Global.ODCm.ExecuteNonQuery();
                            }
                        }
                        catch 
                        {
                        }
                    }
                }
                catch 
                {
                }
                
            }
            public bool IsReusable
            {
                get
                {
                    return false;
                }
            }
        }
    }
      

  9.   

    全局变量一个,程序开始时读取旧数据,保存,然后中间每个Session事件一次(如果指定单IP之类的,可先判断再处理)加1程序结束时,保存数据到某一介质,我个人喜欢TXT,当然,也可以以是XML,.SQL之类的这个方法适合于整站统计,如果是页面统计,用上面各位朋友说的方法
      

  10.   

    可以利用第三方的啊
    http://www.cnzz.com/
    网站的浏览数量,ip来源都有 
      

  11.   

    不需要借助别人的软件,只需要自己写一个类,记录下来访的链接地址然后存在数据库,通过地址比对  public static bool LogVisited(int LgnId, int MFId, string URL, string PreUrl, string ip, string GUID, System.Web.UI.Page page,string ItemName)
        {
            //return true;
            string Token_Ring = "";
            Token_Ring = Comm.getHttpCookie("Token_Ring", page);
            string strQuery = "";
            if (URL.StartsWith("/Talent/"))
            { 
                return true;
            }        if ((PreUrl!=null) && PreUrl.StartsWith("http://atsky:2000"))
            {
              return true;
            }
            if (!URL.StartsWith("LOGON"))
            {
                URL = "/T_" + URL;
                strQuery = "?" + page.Request.ServerVariables["Query_String"];
                URL = URL+ (strQuery=="?"?"":strQuery);
            }
           
            int newID = 0;
            SqlParameter[] parameters = {            
                 new SqlParameter("@LGN_ID", SqlDbType.Int, 10) ,
                 new SqlParameter("@MF_ID", SqlDbType.Int, 10) ,
                 new SqlParameter("@URL", SqlDbType.VarChar, 200) ,
                 new SqlParameter("@Ref_Url", SqlDbType.VarChar, 200) ,
                 new SqlParameter("@Remote_IP", SqlDbType.VarChar, 20) ,
                 new SqlParameter("@GUID", SqlDbType.VarChar, 36) ,              new SqlParameter("@UserIdentity", SqlDbType.VarChar, 100), 
                  new SqlParameter("@MajorVersion", SqlDbType.VarChar, 100), 
                  new SqlParameter("@Platform", SqlDbType.VarChar, 100), 
                  new SqlParameter("@UserHostAddress", SqlDbType.VarChar, 100), 
                  new SqlParameter("@UserHostName", SqlDbType.VarChar, 100), 
                  new SqlParameter("@UserAgent", SqlDbType.VarChar, 100), 
                  new SqlParameter("@ItemName", SqlDbType.VarChar, 100),
                  new SqlParameter("@Token_Ring", SqlDbType.VarChar, 36)
            };
            parameters[0].Value = LgnId;
            parameters[1].Value = MFId;
            parameters[2].Value = URL;
            parameters[3].Value = (PreUrl == null ? "" : PreUrl);
            parameters[4].Value = ip;
            parameters[5].Value = GUID;        parameters[6].Value = HttpContext.Current.User.Identity.Name;
            parameters[7].Value = page.Request.Browser.MajorVersion.ToString();
            parameters[8].Value = page.Request.Browser.Platform.ToString();
            parameters[9].Value = HttpContext.Current.Request.UserHostAddress.ToString();
            parameters[10].Value = HttpContext.Current.Request.UserHostName.ToString();
            parameters[11].Value = HttpContext.Current.Request.UserAgent.ToString();
            parameters[12].Value = ItemName;
            parameters[13].Value = Token_Ring;        int iRows = whb147.SQLServerDAL.DbHelperSQL.RunProcedure("dbo.Visited_Log_Add", parameters,out newID);        if (iRows > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    记得在每个页面调用
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                Comm.LogVisited(Session["LGN_ID"] == null ? 0 : int.Parse(Session["LGN_ID"].ToString()), 0, Request.ServerVariables["PATH_INFO"], Request.ServerVariables["HTTP_REFERER"], Comm.getIP(Page), Comm.getHttpCookie("myGUID", Page), Page, "Win7");
            }
        }