怎么做一个统计网站被浏览次数。 怎么做一个统计网站被浏览次数。。最好能提供代码具体详细方法。最好还能知道她是从哪个网站接入过来的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你只是统计一个页面的话,用数据库记录次数 就在 page_load 里面加 if(!Page.IsPostBack) { 更新次数的代码。 } 这样每次刷新页面,会增加一次。 数据库增加一个字段,pageload一次就+1 来路分析: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>"); http://www.51aspx.com/CV/webStat/参考下! 你只是统计一个页面的话,用数据库记录次数 就在 page_load 里面加 if(!Page.IsPostBack) { 更新次数的代码。 } 这样每次刷新页面,会增加一次。 做一个添加统计的页面,然后用img src 放在一个页的最后。这样就能 统计啦。 zengzhan..你能提供一个具体的例子吗?我新手 看看这个这个只支持 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; } } }} 全局变量一个,程序开始时读取旧数据,保存,然后中间每个Session事件一次(如果指定单IP之类的,可先判断再处理)加1程序结束时,保存数据到某一介质,我个人喜欢TXT,当然,也可以以是XML,.SQL之类的这个方法适合于整站统计,如果是页面统计,用上面各位朋友说的方法 可以利用第三方的啊http://www.cnzz.com/网站的浏览数量,ip来源都有 不需要借助别人的软件,只需要自己写一个类,记录下来访的链接地址然后存在数据库,通过地址比对 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"); } } gridview中按钮点击响应后如何弹出一个带有编辑框的对话框? iis配置问题 获取xml节点内容 Express SQL数据库加密防下载! 求:光标焦点在不同文本框时如何改变默认回车按钮? .net架构的三层结构设计的中间层即服务层一般用什么技术来实现 高分讨论啊,,,,,,,,,,来者有分啊!!!!!!!!!!!!!!!!!! 急急急!请问制作网页需要客户提供些什么资料?常用的 谁有用asp.net(VB.net)的类(超级简单的)呀~给我发一份行吗?我是刚学的。想找一个列子,帮小妹一把~~!谢谢了!! form嵌套问题 关于treeview 跪求!asp.net写的抽奖程序代码
page_load
里面加
if(!Page.IsPostBack)
{
更新次数的代码。
}
这样每次刷新页面,会增加一次。
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>");
参考下!
page_load
里面加
if(!Page.IsPostBack)
{
更新次数的代码。
}
这样每次刷新页面,会增加一次。
这个只支持 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;
}
}
}
}
http://www.cnzz.com/
网站的浏览数量,ip来源都有
{
//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");
}
}