Advertisement

java如何统计文章阅读量_博客中的阅读量是如何设计的?

阅读量:

在博客园中,一篇博客的底部,通常有该篇博客的阅读量的统计。当浏览器端没发起一个请求的时候,它通过相应的逻辑判断,如果符合要求,则给阅读量加一。所以,有了如下代码:

package test;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.net.HttpURLConnection;

import java.net.URL;

public class Url {

private final static String BLOGURL = "http://www.cnblogs.com/RunForLove/p/5439002.html";

public static void main(String args[]) {

try {

for (int i = 0; i > -1; i++) {

execute(BLOGURL);

System.err.println("cnblogs\t" + i);

}

} catch (Exception e) {

e.printStackTrace();

}

}

private static void execute(String url) throws Exception {

// 创建URL链接

URL connURL = new URL(url);

// 打开链接

HttpURLConnection httpConn = (HttpURLConnection) connURL.openConnection();

String cookie = getCookie();

// 设置通用属性

httpConn.setRequestProperty("Accept",

"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8");

httpConn.setRequestProperty("Accept-Encoding", "gzip, deflate, sdch");

httpConn.setRequestProperty("Accept-Language", "zh-CN,zh;q=0.8");

httpConn.setRequestProperty("Cache-Control", "max-age=0");

httpConn.setRequestProperty("Connection", "Keep-Alive");

httpConn.setRequestProperty("Cookie", cookie);

httpConn.setRequestProperty("Host", "www.cnblogs.com");

httpConn.setRequestProperty("User-Agent",

"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36");

httpConn.setRequestProperty("If-Modified-Since", "Wed, 11 May 2016 09:24:05 GMT");

}

但是,通过测试,博客园中的阅读量并没有增加。我的思考如下:

1.它的后台做了时间戳的判断,如果相同的IP在很短的时间内访问,阅读数不加。(之所以这么设计,可能是需要将缓存写回数据库)但是,跑了好长是代码,依旧没有阅读量增加。

2.特别好奇博客园的后台是怎么统计阅读数的,有没有做过类似项目的,讲讲啊。

非常感谢~ 谢谢~~

全部评论 (0)

还没有任何评论哟~