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

【转】中移动cmwap连网时的http头字段X-Online-Host设置

 
阅读更多

众所周知,在国内的GPRS网络环境下,用户以cmwap接入点上网的情况居多。cmwap是中国移动的GPRS代理上网,因此在创建连接的时候,必须采用代理的方式进行连接。
假设我连接的URL为:http://wap.uc.cn/;
在标准代理中,是这样子的:
Conection to 10.0.0.172:80
GET http://wap.uc.cn/ HTTP/1.1
Host: wap.uc.cn

但是在J2ME中,程序并不能控制到TCP层,因此中国移动定义了一个私有协议字段:X-Online-Host。从移动要求的规范来看,我们只需要这样即可正常进行联网:
Conection to 10.0.0.172:80
GET / HTTP/1.1
Host: 10.0.0.172
X-Online-Host: wap.uc.cn
实际上对于程序来说,我们只需要将原来连接的url及http header中的host替换成10.0.0.172,并添加一个http header字段:X-Online-Host,值为原来的host。然后继续采用直连的方式即可正常进行联网。

这样问题就来了,很明显这是一个不标准的代理协议,不标准的地方在于:
GET / HTTP/1.1
因为在标准的代理协议规范中,定义了请求的必须是完整的URI。
这个问题在平常并不会出现,但是当请求的URL比较特殊时,问题就很明显了。
假设我连接的URL为:http://wap.baidu.com/logo.gif?img=http://wap.uc.cn/uc.png
使用X-Online-Host协议的联网:
Conection to 10.0.0.172:80
GET /logo.gif?img=http://wap.uc.cn/uc.png HTTP/1.1
Host: 10.0.0.172
X-Online-Host: wap.baidu.com
这样的请求到达移动网关之后,会被误发至http://wap.baidu.com/uc.png。但是实际上我们想要请求的是http://wap.baidu.com/logo.gif (?之后的表示变量)。
因为,移动网关实际上就是一个HTTP的代理服务器,它对于X-Online-Host协议是这样处理的:
截取请求头中的URL字段:
如果没有http://字段的话,则将该字段作为相对URI,同X-Online-Host字段进行补全;
如果有http://字段的话,则将该字段作为绝对URI,将host替换为X-Online-Host的值。

分享到:
评论

相关推荐

    Android手机设置cmwap上网

    Android 手机设置CMWAP 接入点  设置--- 无限控件---移动网络设置---接入点名称----再按菜单---选择新apn  步,设置CMNET 上网APN  新建 APN  1.名称:cmnet  2.APN:cmnet  3.APN 类型:default  就只...

    基于移动数据流量的体验分析报告---副本.pptx

    基于移动数据流量的体验分析报告 Iamtaoge 2013年1月 基于移动数据流量的体验分析报告---副本全文共38页,当前为第1页。 目录 总结 背景思考 作用于流量、内容的用户体验 基于数据流量的终端和产品 基于移动数据流量...

    基础电子中的Android手机设置cmwap上网

    Android 手机设置CMWAP 接入点  设置--- 无限控件---移动网络设置---接入点名称----再按菜单---选择新apn  第一步,设置CMNET 上网APN  新建 APN  1.名称:cmnet  2.APN:cmnet  3.APN 类型:default  ...

    5230的上网参数设置

    5230的上网参数设置一共3步: 1步 功能表- 设置-手机设置-连接-分组数据-接入点-cmwap 2步 功能表-设置-手机设置—连接—承载方式-接入点-新增接入点--自动搜索-YES- NO 都可以.选择分组数据.输入cm***我...

    cmwap卡上移动3G,代理设置方法!

    cmwap卡上移动3G,代理设置方法! 这是个人整理的网上教程,很实用的哦,希望大家有用,谢谢!

    cmwap转cmnet

    cmwap.exe可以使qq通过cmwap上网时不会掉线。根据地方不同,cmwap可能会有不同情况,有的地方限制严格,cmwap.exe不一定有用。 不过网友使用后反馈的结果来看,80%都可以实现程序的功能。 源代码很早的时候...

    iPhone4S iPhone5设置移动cmWap接入点(无限流量卡越狱方法二)

    此内容适合IPhone5、IPad3、IPhone4S、IPhone4及IPad2。Wap接入点主要针对手机应用,如WAP上网浏览WAP开头的网页,移动业务及服务,一些JAVA第三方软件应用等!...因此搜集各智能平台的Wap设置方法,方便大家正确设置。

    iPhone4S iPad3设置移动cmWap接入点(无限流量卡越狱方法一)

    此内容适合IPhone5、IPad3、IPhone4S、IPhone4及IPad2。Wap接入点主要针对手机应用,如WAP上网浏览WAP开头的网页,移动业务及服务,一些JAVA第三方软件应用等!...因此搜集各智能平台的Wap设置方法,方便大家正确设置。

    cmwap代理软件

    cmwap代理软件

    动感大挪移(cmwap代理)

    CMWAP是要设置代理才能上的 HTTP代理设置为10.0.0.172 端口:80 推荐用动感挪移这个代理软件,基本上可以使CMWAP当作CMNET来用!

    CMWAP配置描述文件

    CMWAP配置描述文件

    cmwap配置文件

    移动无线流量卡的福音proxifier 的cmwap代理文件

    cmwap接入点设置

    CMWAP以及CMNET都只是连接点的一种称呼,在本质上二者之间是没有区别的,只不过中国移动基于二者之间的不同定位而做了人为的限制。表现在iPhone上的区别就是,在iPhone上,CMWAP以及CMNET的设置是不同的,接下去,...

    AndroidHttp通信(及cmwap处理)

    android下的两种http访问方式 HttpURLConnection和HttpClient接口 以前在cmwap网络下代理访问

    HTC新渴望VC HTC T328d移动上网补丁设置

     3、然后打开飞行模式,再取消飞行模式,这时你会发现HTC T328d上网补丁起作用了,因为移动网络设置中的GSM网络已经可以操作了,而且CMWAP、CMNET以及彩信接入点已经设置完毕。我们只需要将默认的接入点设置为GSM就...

    useragentswitcher

     只有一个,就是教你利用“NG+蓝牙+CMWAP包月上网”小榨一下移动。目前我可以在PC上正常使用QQ(MSN没试,不过估计一样的)、浏览WEB、使用FLASHGET下载文件。  QQ 设置方法:“菜单”->"系统设置"->"代理设置"->...

    移动G3客户端(CMNET CMWAP皆可)

    中兴 华为都可以用 移动G3连接客户端.

    Android网络Http通信(及cmwap处理)

    HttpURLConnection和HttpClient接口的get post访问 cmwap下代理

    关于cmwap网络切换

    提供一个关于cmwap切换的Demo,首先判断设备的APN是否存在CMWAP,如果有,就选中。如没有,就通过程序添加一个cmwap。

    中国移动3G上网及收发彩信的设置方法

    中国移动3G上网及收发彩信的设置方法: 一、进入设置——无线控件——移动网络设置——接入点名称——点击外键MENU——还原默认——再次点menu——新APN 名称:cmnet APN:cmnet 代理:空 端口:空 用户名:空...

Global site tag (gtag.js) - Google Analytics