原文发表在 http://www.blogjava.net/emu/archive/2005/12/02/22222.html
google reader是google的另一个AJAX应用,以前前一直误以为是个浏览器插件,因此没有留意。昨天在网友Jared提醒下去开通了一个才见识了一吧。匆匆crack了一下代码,因为刚刚开通上面也没有多少数据,随便晃两眼吧。
首先登录readr,把reader页面另存到本地,得到一个主文件(htm),一个脚本,和一个css样式表。
把html文件中的这行去掉:
<!-- saved from url=(0041)http://www.google.com/reader/things/intro -->
这样xmlhttp就可以无限制的访问网络资源了。
reader引用了一个莫名其妙的js文件,用数字做文件名,不知道名字是不是经常变化的,我昨天下载的时候的名字是: http://www.google.com/reader/ui/874310214-main.js
检查一下数据发送和接收的地方,找到了一个关键点是脚本的第479行:
;D.prototype.Hb=function(a){if(this.overrideCache&&a.indexOf("?")==-1){var b=(new Date()).getTime();a=a+"?"+b}this.uri=a}
uri这样的标识符都保留下来了,充分说明google没有刻意的混淆过代码。我们就从这里入手:
;D.prototype.Hb=function(a){
if(this.overrideCache&&a.indexOf("?")==-1){
var b=(new Date()).getTime();a=a+"?"+b
}
this.uri="http://www.google.com"+a
window.open(this.uri);
}
this.uri="http://www.google.com"+a是为了让xmlhttp能够正确的找到网站。
window.open(this.uri);是为了同时把xmlhttp试图访问的内容用新窗口打开来看看。
carck后的脚本在这里 http://www.blogjava.net/Files/emu/874310214-main.rar。主页面上有我的个人信息,就不上传完整的本地可运行版本了。
保存脚本后重新打开htm页面,可以看到,在页面显示出来的过程中加载了两个动态的xml数据源。
http://www.google.com/reader/atom/user/*********************/state/com.google/reading-list?n=20
http://www.google.com/reader/atom/user/********************%2Fpref%2Fcom.google%2Fprefs?complete=true
中间的星号部分是我的用户编号,就不贴出来了。大家自己试验的时候可以看到自己的。
这两个数据原在浏览器窗口中打开的时候非常出乎意料的,居然返回的是两个xml文件!之前我多次在说google推行AJAH,看来怪错好人了,google也用正宗的AJAX的。
- <feed xmlns="http://www.w3.org/2005/Atom">
<title>user/***************/state/com.google/reading-list</title>
<id>tag:google.com,2005:reader/user/***************//state/com.google/reading-list</id>
<updated>2005-12-02T04:03:50Z</updated>
</feed>
-<feed xmlns="http://www.w3.org/2005/Atom">
<title>user/***************/pref/com.google/prefs</title>
<id>tag:google.com,2005:reader/user/***************/pref/com.google/prefs</id>
<updated>2005-12-02T04:03:50Z</updated>
</feed>
我刚刚开通reader,里面都还什么数据都没有呢。你看到什么了呢?
分享到:
相关推荐
AJAX案例研究之Gmail
AJAX案例研究之详细剖析Gmail应用
Ajax案例(JSP)Ajax案例(JSP)Ajax案例(JSP)Ajax案例(JSP)Ajax案例(JSP)Ajax案例(JSP)Ajax案例(JSP)Ajax案例(JSP)
Ajax案例详解Ajax案例详解Ajax案例详解Ajax案例详解Ajax案例详解
Ajax经典案例开发大全源文件Ajax经典案例开发大全源文件Ajax经典案例开发大全源文件Ajax经典案例开发大全源文件Ajax经典案例开发大全源文件Ajax经典案例开发大全源文件Ajax经典案例开发大全源文件Ajax经典案例开发...
整合ssh+ajax案例.doc 整合ssh+ajax案例.doc 整合ssh+ajax案例.doc
aspx实现ajax案例
Ajax经典案例开发大全Ajax经典案例开发大全Ajax经典案例开发大全Ajax经典案例开发大全
ajax图书管理案例,感觉蛮不错的,就放上来!
AJAX案例基础学习:AJAX案例.xls
是一些在asp.net程序中使用ajax的案例
Ajax in action是Ajax 非常好的书啊
通过ajax,可以应用于web界面的谷歌地图方法,在LBS技术大行其道当今,该方法是否有一席之地呢?
Ajax 经典案例开发大全
Ajax经典案例开发大全pdf + 随书源码 ajax 案例 大全 源码
ASP.Net的Ajax案例。
ajax例子ajax例子ajax例子ajax例子ajax例子ajax例子ajax例子ajax例子ajax例子ajax例子ajax例子ajax例子ajax例子ajax例子
Ajax案例: 案例一:通过Ajax获取服务器时间; 案例二:通过Ajax验证用户名; 案例三:通过Ajax进行登录。
$.ajax({ type: "GET", url:"check_title.php", dataType: "json", data:"title=" + $('#title').val(), success: function(data) { var str=""; for(op1 in data){ str += "<li><a target=blank href='/...