Symbian 使用CEComFilter捕获系统HTTP请求
2010-07-21 04:24:00 来源:WEB开发网核心提示:HTTP/+FELIXFILTER:监视器总是能自动加载HTTP/-FELIXFILTER:监视器不会加载,用户只能手动的加载它HTTP/FELIXFILTER:除非用户从监视器集合中移除,Symbian 使用CEComFilter捕获系统HTTP请求(6),监视器都会加载五、如何实现手机下载软件基本概念都已经清楚,现
HTTP/+FELIXFILTER:监视器总是能自动加载
HTTP/-FELIXFILTER:监视器不会加载,用户只能手动的加载它
HTTP/FELIXFILTER:除非用户从监视器集合中移除,监视器都会加载
五、如何实现手机下载软件
基本概念都已经清楚,现在我们来想想如何实现手机上的迅雷。根据以下流程可以容易的做到:
按照以上步骤,实现CEComFilter接口,生成基于多态dll的plugin;
重写MHTTPFilter::MHFRunL方法;
因为要做下载软件不可能在MHFRunL方法中简单地通过判断Url来判断文件类型,必须通过判断服务器返回的MIME类型是否为所支持下载文件类型的MIME,因此得判断aEvent是否为“服务器端Headers返回”的状态,来获取返回头的“Content-Type”字段;
判断MHFRunL方法中的aEvent是否为EGotResponseHeaders;
通过aTransaction.Response().GetHeaderCollection()获取字段“Content-Type”的值,通过“自定义字符串池(将在以后章节介绍)”的技术加快MIME的匹配对比;
如果服务器返回的MIME类型满足下载工具支持的类型,则弹出全局询问框,询问用户是否通过下载工具下载;
用户选择“是”,则将aTransaction.Cancel(),获取请求的Url,启动下载程序并将Url发送过去;
用户选择“否”,什么事都不做。
Tags:Symbian 使用 CEComFilter
编辑录入:coldstar [复制链接] [打 印]更多精彩
赞助商链接