已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
如何免费下载百度文库的收费文档 -下载分析 新注册一个用户的的积分是 20。 所以,要想在上面下载许多文档,是不现实的。 对于收费的文档,想想缓存里应该有的吧。 找了,没找到。 感觉挺神奇的,用 flash/flex显示 word内容。 用 httpwatch看一下。 链接: /view/e76593c3d5bbfd0a795673a6.html 找到 2个跟 flash相关的链接 /static/flash/reader.swf /play/e76593c3d5bbfd0a795673a6?pn=1&rn=5 第一个,是阅读器。第二个是文档内容 从阅读器开始吧。 用 Sothink SWF Decompiler打开 跟显示的很像,应该就是这个了。 看一下 as代码吧。 package reader_fla import flash.display.*; import flash.events.*; dynamic public class MainTimeline extends MovieClip 这个类用来,处理进度条的。不管了。 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 _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,以及这个 url,怎么个展示法了。 在 DocViewer中找到这样一段。 正好证明了上面的第 2个跟 flash相关的链接 (这样写,是为了防止文档页数越界,到最后一页,自动返回第一页) /play/e76593c3d5bbfd0a795673a6?pn=1&rn=5 上面的这个地址,就是由 main.as和 DocViewer.as两个类生成出来的。 e76593c3d5bbfd0a795673a6,文档编号 pn=1,已经加载了第 1页,当前显示的是第 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); 数据处理 var binaryRequest:* = new URLRequest(tmpURL); 读取数据 binaryLoader.load(binaryRequest); if (this._showLoading) dispatchEvent(new Event(SHOW_LOADING, true); this._inLoading = true; 用 binaryLoader加载读过来的数据,并设置,正在加载的提示状态。 下面,主要看 binaryLoader的几个监听事件了。 ProgressEvent.PROGRESS, this.binaryLoading 正在加载的处理事件 Event.COMPLETE, this.binaryLoadComplete 加载完成的处理事件 IOErrorEvent.IO_ERROR, this.binaryLoadError 加载出错的处理事件 设置进度条,没什么好看的。 有点长,下面还有。不拿过来了。 这里就是处理下载的内容的。 看一下,下载的内容什么样。先。 在 httpwatch中看一下, content和 stream Server:Lighttpd,好熟悉。先不谈这个,均衡用的。 页数出来了 下面应该是内容。 Content里显示不是可显示的 flash格式,肯定不是了。 (268039bytes),不用说了,这么大 200多 KB,差不多了,写到这,我看了一下,我写的这个文档大小。 哈哈 ,有可能,是把文档内容直接给下载完了哦。 不说了。 直接分析 下载 结束后的处理代码。 代码,还是贴一下吧。好写注释。 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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (正式版)DB37∕T 2603-2014 《山东省选择性催化还原(SCR)脱硝催化剂技术要求》
- 产后恢复周期
- 湖南省长沙市一中2024届高三月考卷(一)化学试卷
- 上海浦东第四教育署重点达标名校2026届初三数学试题质量检测试题卷含解析
- 合肥市45中2026年内蒙古阿拉善盟初三下学期第一次模拟考试语文试题含解析
- 吉安市重点中学2026届初三年级下学期十月份月考英语试题含解析
- 山西大附中2026届初三英语试题测试含解析
- 福建省宁德市2026年初三下学期摸底统一考试英语试题含解析
- 山东省聊城市东昌府区2026届初三年级质量检查(Ⅲ)语文试题(文史类)试题含解析
- 辽宁省盘锦市重点达标名校2025-2026学年初三毕业班联考英语试题试卷含解析
- 北京旅游课件
- 2025年及未来5年中国吊舱式推进器市场全面调研及行业投资潜力预测报告
- 2025年人民银行招聘面试心理测试与应对策略
- (2025年)检验检测机构授权签字人考核试题(附答案)
- 水土保持工程核查评估项目服务方案投标文件(技术方案)
- 福建省高中英语口语考试题目及答案文档
- 医学科研诚信教育
- 2025年数字经济下灵活就业发展研究报告-新京报-202605
- 市场微观结构
- 2025年河南省郑州市中考一模英语试题及答案
- T/CHTS 10163-2024公路桥梁结构监测系统施工质量检验与评定标准
评论
0/150
提交评论