已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
如何免費(fèi)下載百度文庫的收費(fèi)文檔 -下載分析 新注冊一個(gè)用戶的的積分是 20。 所以,要想在上面下載許多文檔,是不現(xiàn)實(shí)的。 對于收費(fèi)的文檔,想想緩存里應(yīng)該有的吧。 找了,沒找到。 感覺挺神奇的,用 flash/flex顯示 word內(nèi)容。 用 httpwatch看一下。 鏈接: /view/e76593c3d5bbfd0a795673a6.html 找到 2個(gè)跟 flash相關(guān)的鏈接 /static/flash/reader.swf /play/e76593c3d5bbfd0a795673a6?pn=1&rn=5 第一個(gè),是閱讀器。第二個(gè)是文檔內(nèi)容 從閱讀器開始吧。 用 Sothink SWF Decompiler打開 跟顯示的很像,應(yīng)該就是這個(gè)了。 看一下 as代碼吧。 package reader_fla import flash.display.*; import flash.events.*; dynamic public class MainTimeline extends MovieClip 這個(gè)類用來,處理進(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 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,文檔地址 BG_COLOR,背景色出來了 下面分析下 DocViewer,以及這個(gè) url,怎么個(gè)展示法了。 在 DocViewer中找到這樣一段。 正好證明了上面的第 2個(gè)跟 flash相關(guān)的鏈接 (這樣寫,是為了防止文檔頁數(shù)越界,到最后一頁,自動返回第一頁) /play/e76593c3d5bbfd0a795673a6?pn=1&rn=5 上面的這個(gè)地址,就是由 main.as和 DocViewer.as兩個(gè)類生成出來的。 e76593c3d5bbfd0a795673a6,文檔編號 pn=1,已經(jīng)加載了第 1頁,當(dāng)前顯示的是第 1頁 rn=5,一共 5頁 注意, pn=5 讀下來,怎么處理的呢?才成功顯示成我們需要的文檔的呢? var binaryLoader:* = new URLLoader(); binaryLoader.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ù) binaryLoader.load(binaryRequest); if (this._showLoading) dispatchEvent(new Event(SHOW_LOADING, true); this._inLoading = true; 用 binaryLoader加載讀過來的數(shù)據(jù),并設(shè)置,正在加載的提示狀態(tài)。 下面,主要看 binaryLoader的幾個(gè)監(jiān)聽事件了。 ProgressEvent.PROGRESS, this.binaryLoading 正在加載的處理事件 Event.COMPLETE, this.binaryLoadComplete 加載完成的處理事件 IOErrorEvent.IO_ERROR, this.binaryLoadError 加載出錯(cuò)的處理事件 設(shè)置進(jìn)度條,沒什么好看的。 有點(diǎn)長,下面還有。不拿過來了。 這里就是處理下載的內(nèi)容的。 看一下,下載的內(nèi)容什么樣。先。 在 httpwatch中看一下, content和 stream Server:Lighttpd,好熟悉。先不談這個(gè),均衡用的。 頁數(shù)出來了 下面應(yīng)該是內(nèi)容。 Content里顯示不是可顯示的 flash格式,肯定不是了。 (268039bytes),不用說了,這么大 200多 KB,差不多了,寫到這,我看了一下,我寫的這個(gè)文檔大小。 哈哈 ,有可能,是把文檔內(nèi)容直接給下載完了哦。 不說了。 直接分析 下載 結(jié)束后的處理代碼。 代碼,還是貼一下吧。好寫注釋。 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; 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_loc_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._pagesLoaded = 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: + 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 function 先留著,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 修補(bǔ)街道施工方案(3篇)
- 打卡活動折紙方案策劃(3篇)
- 公司糕點(diǎn)活動策劃方案(3篇)
- 體操特色活動方案策劃(3篇)
- 涼亭庭院施工方案(3篇)
- 2025年金融服務(wù)產(chǎn)品銷售與服務(wù)規(guī)范
- 中學(xué)學(xué)生社團(tuán)活動經(jīng)費(fèi)保障制度
- 2025年中職應(yīng)急管理(應(yīng)急處置基礎(chǔ))試題及答案
- 2025年大學(xué)心理學(xué)(咨詢心理學(xué))試題及答案
- 2025年大學(xué)大四(物流工程與管理)物流園區(qū)規(guī)劃設(shè)計(jì)綜合試題及答案
- 社工專業(yè)知識培訓(xùn)活動課件
- 四川省成都市樹德實(shí)驗(yàn)中學(xué)2026屆數(shù)學(xué)八上期末聯(lián)考試題含解析
- 收購發(fā)票培訓(xùn)課件
- 鞋廠與總代商的合作方案
- 2025年貿(mào)易經(jīng)濟(jì)專業(yè)題庫- 貿(mào)易教育的現(xiàn)狀和發(fā)展趨勢
- 核子儀考試題及答案
- DB46-T 481-2019 海南省公共機(jī)構(gòu)能耗定額標(biāo)準(zhǔn)
- 勞動合同【2026版-新規(guī)】
- 電子元器件入廠質(zhì)量檢驗(yàn)規(guī)范標(biāo)準(zhǔn)
- 中藥炮制的目的及對藥物的影響
- 688高考高頻詞拓展+默寫檢測- 高三英語
評論
0/150
提交評論