google reader 是google的另一個(gè)AJAX應(yīng)用,以前前一直誤以為是個(gè)瀏覽器插件,因此沒有留意。昨天在網(wǎng)友Jared提醒下去開通了一個(gè)才見識(shí)了一吧。匆匆crack了一下代碼,因?yàn)閯倓傞_通上面也沒有多少數(shù)據(jù),隨便晃兩眼吧。
首先登錄readr,把reader頁面另存到本地,得到一個(gè)主文件(htm),一個(gè)腳本,和一個(gè)css樣式表。
把html文件中的這行去掉:
<!-- saved from url=(0041)http://www.google.com/reader/things/intro -->
這樣xmlhttp就可以無限制的訪問網(wǎng)絡(luò)資源了。
reader引用了一個(gè)莫名其妙的js文件,用數(shù)字做文件名,不知道名字是不是經(jīng)常變化的,我昨天下載的時(shí)候的名字是:
uri這樣的標(biāo)識(shí)符都保留下來了,充分說明google沒有刻意的混淆過代碼。我們就從這里入手:
;D.prototype.Hb=function(a){
if(this.overrideCache&&a.indexOf("?")==-1){
var b=(new Date()).getTime();a=a+"?"+b
}
this.uri=" 是為了讓xmlhttp能夠正確的找到網(wǎng)站。
window.open(this.uri);是為了同時(shí)把xmlhttp試圖訪問的內(nèi)容用新窗口打開來看看。
carck后的腳本在這里 http://www.aygfsteel.com/Files/emu/874310214-main.rar 。主頁面上有我的個(gè)人信息,就不上傳完整的本地可運(yùn)行版本了。
保存腳本后重新打開htm頁面,可以看到,在頁面顯示出來的過程中加載了兩個(gè)動(dòng)態(tài)的xml數(shù)據(jù)源。
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
中間的星號(hào)部分是我的用戶編號(hào),就不貼出來了。大家自己試驗(yàn)的時(shí)候可以看到自己的。
這兩個(gè)數(shù)據(jù)原在瀏覽器窗口中打開的時(shí)候非常出乎意料的,居然返回的是兩個(gè)xml文件!之前我多次在說google推行AJAH,看來怪錯(cuò)好人了,google也用正宗的AJAX的。
-<feed xmlns="http://www.w3.org/2005/Atom">
我剛剛開通reader,里面都還什么數(shù)據(jù)都沒有呢。你看到什么了呢?