如何免费下载百度文库的收费文档(下载分析).doc

上传人:小小飞 文档编号:3265497 上传时间:2019-08-07 格式:DOC 页数:11 大小:373.01KB
返回 下载 相关 举报
如何免费下载百度文库的收费文档(下载分析).doc_第1页
第1页 / 共11页
如何免费下载百度文库的收费文档(下载分析).doc_第2页
第2页 / 共11页
如何免费下载百度文库的收费文档(下载分析).doc_第3页
第3页 / 共11页
如何免费下载百度文库的收费文档(下载分析).doc_第4页
第4页 / 共11页
如何免费下载百度文库的收费文档(下载分析).doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《如何免费下载百度文库的收费文档(下载分析).doc》由会员分享,可在线阅读,更多相关《如何免费下载百度文库的收费文档(下载分析).doc(11页珍藏版)》请在三一文库上搜索。

1、如何免费下载百度文库的收费文档-下载分析http:/新注册一个用户的的积分是20。所以,要想在上面下载许多文档,是不现实的。对于收费的文档,想想缓存里应该有的吧。找了,没找到。感觉挺神奇的,用flash/flex显示word内容。用httpwatch看一下。链接:http:/ SWF Decompiler打开跟显示的很像,应该就是这个了。看一下as代码吧。package reader_fla import flash.display.*; import flash.events.*; dynamic public class MainTimeline extends MovieClip这个类用

2、来,处理进度条的。不管了。package baidu.iknow import flash.display.*; import flash.events.*; public class main extends Sprite找到加载的主函数了。package baidu.iknow import flash.display.*; import flash.events.*; public class Reader extends Sprite private var _firstPagesNum:int; private var _normalPageNum:int; private var

3、_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,以及这

4、个url,怎么个展示法了。在DocViewer中找到这样一段。正好证明了上面的第2个跟flash相关的链接(这样写,是为了防止文档页数越界,到最后一页,自动返回第一页)http:/ e76593c3d5bbfd0a795673a6,文档编号pn=1,已经加载了第1页,当前显示的是第1页rn=5,一共5页注意,pn=5读下来,怎么处理的呢?才成功显示成我们需要的文档的呢?var binaryLoader:* = new URLLoader();binaryLoader.dataFormat = binary;binaryLoader.addEventListener(ProgressEvent.

5、PROGRESS, this.binaryLoading);binaryLoader.addEventListener(Event.COMPLETE, this.binaryLoadComplete);binaryLoader.addEventListener(IOErrorEvent.IO_ERROR, this.binaryLoadError);数据处理var binaryRequest:* = new URLRequest(tmpURL);读取数据binaryLoader.load(binaryRequest);if (this._showLoading) dispatchEvent(n

6、ew Event(SHOW_LOADING, true);this._inLoading = true;用binaryLoader加载读过来的数据,并设置,正在加载的提示状态。下面,主要看binaryLoader的几个监听事件了。ProgressEvent.PROGRESS, this.binaryLoading正在加载的处理事件Event.COMPLETE, this.binaryLoadComplete加载完成的处理事件IOErrorEvent.IO_ERROR, this.binaryLoadError加载出错的处理事件设置进度条,没什么好看的。有点长,下面还有。不拿过来了。这里就是处理

7、下载的内容的。看一下,下载的内容什么样。先。在httpwatch中看一下,content和streamServer:Lighttpd,好熟悉。先不谈这个,均衡用的。页数出来了下面应该是内容。Content里显示不是可显示的flash格式,肯定不是了。(268039bytes),不用说了,这么大200多KB,差不多了,写到这,我看了一下,我写的这个文档大小。哈哈 ,有可能,是把文档内容直接给下载完了哦。不说了。直接分析下载结束后的处理代码。代码,还是贴一下吧。好写注释。private function binaryLoadComplete(param1:Event = null) : void

8、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;

9、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.

10、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_8to

11、Page) - 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._to

12、Page); this._pagethLoading = Number(_loc_8fromPage)-; var _loc_9:int; while (_loc_9 0) this.byteArr2DisplayObj(this._hasConvertPages); else trace(blank document .); this.processNoDoc(); this._loadPercent = 0; dispatchEvent(new Event(STOP_LOADING, true); this._inLoading = false; return; / end function先留着,哪位有兴趣,写个程序哦?提示:模拟请求后,打开这个页,将内容,下载。Httpclient+ selenium或htmlutil,可以完成收费文档下载了。别忘了,互相转换cookies,session什么的。待续。Mail:上官伯阳2010-3-26下载flashpaper,自己转换一下文档成swf说明了,是由flashpaper做成的swf,再显示的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1