`
keriny
  • 浏览: 94881 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

突破wap网关限制

阅读更多
原因:就目前找到的资料wap网关限制大文件的下载,是因为wap网关在手机客户端拿到文件之前就已经知道要下载的文件大小,这是因为文件的大小从http协议中可以得到,http头中保存的不止文件的大小,还有文件的类型等一些列信息,按照现在的猜测,网关限制大文件下载是根据文件的content-length来判断文件的大小。

解决思路:在wap网关和文件服务器之间加一层代理服务器,网关请求过来只到代理服务器,而不会到真正访问到你的资源你服务器。代理服务器按照客户端的请求参数每次去文件服务器上拿取文件。

技术关键点:

1.  代理服务器与文件服务器之间连接的建立

2.  输入流和输出流,字节偏移量的设定(代理服务器)

3.  代理服务器输出文件类型

代码实现:

public class DownServlet extends HttpServlet {

    private static final long serialVersionUID = 1332534778678L;

    private static final int byte_size = 1024;



    protected void service(HttpServletRequest request,

           HttpServletResponse response) throws ServletException, IOException {

       response.setContentLength(byte_size); // 输出到客户端的文件大小

       String fileName = "default.dmh";

       response.setContentType("text/plain");

       response.setCharacterEncoding("utf-8");

       response.setHeader("Content-disposition", "attachment; filename="

              + fileName);                              // 设置文件头

       String url = request.getParameter("url");

       URL fileUrl = new URL(url);

       HttpURLConnection httpCon = (HttpURLConnection) fileUrl

              .openConnection();

//     System.out.println("before range.......... "+httpCon.getResponseCode());

       String sProperty = "bytes=10-" + byte_size;      // -后面表示要取多少数据

       httpCon.setRequestProperty("RANGE", sProperty); // 设置偏移量

       System.out.println("after range.......... "+httpCon.getResponseCode());

       InputStream in = httpCon.getInputStream();

       System.out.println("after InputStream.......... "+httpCon.getResponseCode());

       DataInputStream dis = new DataInputStream(in); // 重新包装输入流

       OutputStream out = response.getOutputStream(); // 从httpUrlConnecction中获得输出流

       byte[] b = new byte[byte_size];               // 读取多少

       dis.read(b);

       out.write(b);

       out.flush();

       out.close(); // 关闭输入输出流

       dis.close();

       in.close();

    }

}

出现问题:

1.  设置偏移量对文件服务器不起作用

经过测试发现只有代理服务器请求文件服务器上的静态文件时,设置偏移量才能使用,请求动态的则不行,猜测原因是请求动态的文件是因为设置的一些底层的参数到不了服务器底层,如:apache等。

2.  设置偏移量“-”后的大小

“-”后设置多少表是此次请求从偏移量之后取多少数据,此过程会限制httpCon.getInputStream()的大小,在使用read读取时读取的大小就是“-”后的大小,若读取过大则在后面补空格。
0
0
分享到:
评论

相关推荐

    WAP网关原理 WAP网关原理

    **WAP网关原理** WAP(Wireless Application Protocol,无线应用协议)网关是连接移动设备和互联网的关键组件,其主要任务是将WAP协议转换为标准的互联网协议,以便移动用户能够通过有限的无线资源访问丰富的互联网...

    中兴公司WAP网关技术手册

    ### 中兴公司WAP网关技术手册知识点梳理 #### 一、手册概述 - **发布机构**:中兴通讯股份有限公司 - **手册版本**:20060315-R1.0 - **产品版本**:V1.0 - **作者**:黄晓兵、王黎黎 - **审核人**:周方英 - **...

    WAP网关基本业务流程

    "WAP网关基本业务流程" WAP网关是移动互联网时代的关键技术之一,其基本业务流程包括业务功能介绍、业务处理流程介绍等几个方面。下面是对WAP网关基本业务流程的详细介绍: 一、业务功能介绍 WAP网关支持基于WSP...

    YDT 2241-2011 WAP网关系统安全防护要求.pdf

    根据提供的文件信息,我们可以了解到《YDT 2241-2011 WAP网关系统安全防护要求.pdf》是一份关于WAP网关系统安全防护的技术标准文件。这份文件对WAP网关系统的安全性提出了明确的要求和规定,用以确保该系统在提供...

    WAP网关设备规范(支持TD-SCDMA)

    在WAP1.2网关设备规范基础上制定,包含原有WAP1.2网关设备的功能要求,同时包括WAP2.0的新增功能以及对相关数据业务支持功能要求。 本标准规定了WAP网关设备的定义和术语、设备的组成功能及技术指标、业务功能要求、...

    中兴WAP网关技术手册

    ### 中兴WAP网关技术手册关键知识点解析 #### 一、引言 《中兴WAP网关技术手册》是一份详细介绍中兴WAP网关系统的技术文档,旨在为智能网工程技术人员和智能网管理人员提供全面深入的理解。这份手册不仅涵盖了WAP...

    突破网关.zip突破网关.zip突破网关.zip

    突破网关.zip突破网关.zip突破网关.突破网关.zip突破网关.zip突破网关.zipzip突破网关.zip

    wap网关,带wtls

    “WAP网关,带WTLS”是指一种支持无线应用协议(Wireless Application Protocol,简称WAP)并集成有无线传输层安全(Wireless Transport Layer Security,简称WTLS)功能的网络设备或软件。WAP网关是WAP网络架构中的...

    用Linux做WAP网关.pdf

    【Linux作为WAP网关】 Linux操作系统以其开源、稳定和高度可定制的特性,被广泛应用于各种领域,包括网络服务和设备。在本文件中,我们探讨的是如何利用Linux构建WAP(无线应用协议)网关。WAP网关是连接移动通信...

    Linux平台上WAP网关的实现.pdf

    为了保证系统的稳定性,网关设置了线程数量的限制,防止过多线程导致系统不稳定。 通过这样的设计,Linux平台上的WAP网关能够有效地实现无线设备与互联网的通信,提供安全、高效的服务。这一实现不仅为移动用户提供...

    基于Linux平台的WAP网关的设计与实现.pdf

    【基于Linux平台的WAP网关的设计与实现】 在信息技术高速发展的今天,移动通信与互联网的结合成为必然趋势。WAP(Wireless Application Protocol)作为无线通信协议,为移动设备接入互联网提供了统一的标准。WAP...

    可突破3389连接最大限制

    本文将详细介绍如何突破这一限制,并优化RDP连接。 首先,理解连接限制的原因:Windows Server为了防止资源过度消耗和可能的安全风险,设定了同时RDP连接的最大值。默认情况下,对于标准版Windows Server,这一限制...

    WAP 网关公网IP地址统计(截止至20090303)对外

    WAP 网关公网IP地址统计(截止至20090303)对外,有些朋友可能需要

    Linux线程同步机制及其在WAP网关中的应用.pdf

    由于WAP网关可能处理大量并发请求,使用互斥锁可以确保对每个请求的处理不会相互干扰,如缓存管理、连接池的分配与释放等。 2. **队列同步** 条件变量可以用于管理请求队列,当队列为空时,处理线程可以等待新...

    银行WAP网关与应用系统项目实施建议书.doc

    【银行WAP网关与应用系统项目实施建议书】 1.1 项目背景与WAP技术简介 随着科技的进步,信息化社会已经深入人们的生活。移动通信技术,特别是WAP(Wireless Application Protocol)技术,成为了现代人获取信息、...

    Radware_AppDirector负载均衡器WAP网关_培训资料

    Radware_AppDirector负载均衡器WAP网关_培训资料

    银行WAP网关及应用系统项目实施建议书.doc

    银行WAP网关及应用系统项目实施建议书.doc

Global site tag (gtag.js) - Google Analytics