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.特别好奇博客园的后台是怎么统计阅读数的,有没有做过类似项目的,讲讲啊。
非常感谢~ 谢谢~~
