如何百度文庫(kù)的收費(fèi)文檔(分析)_第1頁(yè)
如何百度文庫(kù)的收費(fèi)文檔(分析)_第2頁(yè)
如何百度文庫(kù)的收費(fèi)文檔(分析)_第3頁(yè)
如何百度文庫(kù)的收費(fèi)文檔(分析)_第4頁(yè)
如何百度文庫(kù)的收費(fèi)文檔(分析)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、如何免費(fèi)下載百度文庫(kù)的收費(fèi)文檔-下載分析新注冊(cè)一個(gè)用戶的的積分是20。所以,要想在上面下載許多文檔,是不現(xiàn)實(shí)的。對(duì)于收費(fèi)的文檔,想想緩存里應(yīng)該有的吧。找了,沒(méi)找到。感覺挺神奇的,用flash/flex顯示word內(nèi)容。用httpwatch看一下。鏈接:找到2個(gè)跟flash相關(guān)的鏈接第一個(gè),是閱讀器。第二個(gè)是文檔內(nèi)容從閱讀器開始吧。用sothink swf decompiler打開跟顯示的很像,應(yīng)該就是這個(gè)了。看一下as代碼吧。package reader_fla import flash.display.*; import flash.events.*; dynamic public clas

2、s maintimeline extends movieclip這個(gè)類用來(lái),處理進(jìn)度條的。不管了。package baidu.iknow import flash.display.*; import flash.events.*; public class main extends sprite找到加載的主函數(shù)了。package baidu.iknow import flash.display.*; import flash.events.*; public class reader extends sprite private var _firstpagesnum:int; private

3、var _normalpagenum:int; private var _bookmark:string; private var _toolbar:toolbar; private var _docurl:string; private const bg_color:int = 8890837; private var _bg:sprite; private const border_color:int = 5668272; private var _docviewer:docviewer; private var _loading:loading;上面的讀取類,明白了不?_docurl,文

4、檔地址bg_color,背景色出來(lái)了下面分析下docviewer,以及這個(gè)url,怎么個(gè)展示法了。在docviewer中找到這樣一段。正好證明了上面的第2個(gè)跟flash相關(guān)的鏈接(這樣寫,是為了防止文檔頁(yè)數(shù)越界,到最后一頁(yè),自動(dòng)返回第一頁(yè))上面的這個(gè)地址,就是由main.as和docviewer.as兩個(gè)類生成出來(lái)的。 e76593c3d5bbfd0a795673a6,文檔編號(hào)pn=1,已經(jīng)加載了第1頁(yè),當(dāng)前顯示的是第1頁(yè)rn=5,一共5頁(yè)注意,pn=5讀下來(lái),怎么處理的呢?才成功顯示成我們需要的文檔的呢?var binaryloader:* = new urlloader();binaryl

5、oader.dataformat = binary;binaryloader.addeventlistener(progressevent.progress, this.binaryloading);binaryloader.addeventlistener(event.complete, this.binaryloadcomplete);binaryloader.addeventlistener(ioerrorevent.io_error, this.binaryloaderror);數(shù)據(jù)處理var binaryrequest:* = new urlrequest(tmpurl);讀取數(shù)據(jù)b

6、inaryloader.load(binaryrequest);if (this._showloading) dispatchevent(new event(show_loading, true);this._inloading = true;用binaryloader加載讀過(guò)來(lái)的數(shù)據(jù),并設(shè)置,正在加載的提示狀態(tài)。下面,主要看binaryloader的幾個(gè)監(jiān)聽事件了。progressevent.progress, this.binaryloading正在加載的處理事件event.complete, this.binaryloadcomplete加載完成的處理事件ioerrorevent.io_

7、error, this.binaryloaderror加載出錯(cuò)的處理事件設(shè)置進(jìn)度條,沒(méi)什么好看的。有點(diǎn)長(zhǎng),下面還有。不拿過(guò)來(lái)了。這里就是處理下載的內(nèi)容的。看一下,下載的內(nèi)容什么樣。先。在httpwatch中看一下,content和streamserver:lighttpd,好熟悉。先不談這個(gè),均衡用的。頁(yè)數(shù)出來(lái)了下面應(yīng)該是內(nèi)容。content里顯示不是可顯示的flash格式,肯定不是了。(268039bytes),不用說(shuō)了,這么大200多kb,差不多了,寫到這,我看了一下,我寫的這個(gè)文檔大小。哈哈 ,有可能,是把文檔內(nèi)容直接給下載完了哦。不說(shuō)了。直接分析下載結(jié)束后的處理代碼。代碼,還是貼一下吧

8、。好寫注釋。private function binaryloadcomplete(param1:event = null) : void var _loc_11:bytearray; var _loc_12:int; trace(binaryloadcomplete.); console.log(binaryloadcomplete.); if (this._nodoc) if (this._nodoc.parent) this._nodoc.parent.removechild(this._nodoc); this._nodoc = null; this._loadpercent = 0;

9、 var _loc_2:* = urlloader(param1.target); var _loc_3:* = _loc_2.data; this._bytearray = ; var _loc_4:array; var _loc_5:int; var _loc_6:* = _loc_3.length; while (_loc_5 _loc_6) if (_loc_5 + 3 _loc_6) if (_loc_3_loc_5 = 67 | _loc_3_loc_5 = 70 & _loc_3_loc_5 + 1 = 87 & _loc_3_loc_5 + 2 = 83 & _loc_3_lo

10、c_5 + 3 = 9 | _loc_3_loc_5 + 3 = 10) _loc_4.push(_loc_5); else _loc_4.push(_loc_6); break; _loc_5+; var _loc_7:* = _loc_3.readmultibyte(_loc_40, utf-8); trace(_loc_7); console.log(_loc_7); var _loc_8:* = json.decode(_loc_7); this._pagesall = number(_loc_8totalpage); if (!this._pagesloaded) this._pag

11、esloaded = 0; this._pagesloaded = this._pagesloaded + (number(_loc_8topage) - number(_loc_8frompage) + 1); this._frompage = number(_loc_8frompage); this._topage = number(_loc_8topage); trace(pagesall: + this._pagesall + , frompage: + this._frompage + , topage: + this._topage); console.log(pagesall:

12、+ this._pagesall + , frompage: + this._frompage + , topage: + this._topage); this._pagethloading = number(_loc_8frompage)-; var _loc_9:int; while (_loc_9 0) this.bytearr2displayobj(this._hasconvertpages); else trace(blank document .); cessnodoc(); this._loadpercent = 0; dispatchevent(new event(stop_loading, true); this._inloading = false; return; / end func

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論