Android 使用HttpClient代理

来源:互联网 发布:好车贷网贷天眼数据 编辑:程序博客网 时间:2024/06/05 06:49

一、代理知识扫盲

为什么要通过代码代理联网呢? 
我自己使用的是Android手机,没记得自己设置过。但是用户本地可能配置的不对,或者是仅能使用wap,却设置的使用wap上网,或者wap设置的代理地址和端口不对。

Android联网设置方法
设置 -- 无线和网络 -- 移动网络设置 -- 接入点名称 -- 有三个选项
1. CMNET
2. CMWAP
3. 中国移动彩信 (为什么还有彩信接入点呢?彩信需要连接专用服务器)

为什么会有这两种接入点?
     NET针对于PC,WAP针对于手机上网。因为定位不同WAP有部分限制。手机也可以使用NET连接。

什么是WAP?
WAP为无线应用协议,采用“终端+ WAP 网关+ WAP 服务器”模式,主要的目的是通过 WAP 网关完成 WAP-WEB 的协议转换以达到节省网络流量和兼容现有 WEB 应用的目的。(把Internet网上HTML语言的信息转换为WML,在手机上显示。)

每种服务商提供WAP的名字和代理IP都不同:
服务接入点名称代理IP移动WAP服务CMWAP
10.0.0.172
联通WAP服务UNIWAP10.0.0.172电信WAP服务CTWAP10.0.0.200


什么是NET?
拥有完全的Internet访问权,和PC访问网络相同,使用“终端+服务器”模式。

如果手机使用NET直接联网即可,但是如果使用WAP不能直接连接,在编程上需要自己设置代理连接网络。


二、如何判断手机设置的是NET还是WAP

如何进行查询

三、使用Android内置HttpClient代理联网

例子运行环境
Windows 7 + Android 8 + Eclipse 3.7.1 + 移动(CMWAP)

// 代理参数设置// *********   自己使用移动CMWAP,所以这里设置移动的代理IPString proxyStr = "10.0.0.172";int port = Proxy.getDefaultPort();HttpHost httpHost = new HttpHost(proxyStr, port);BasicHttpParams basicHttpParams = new BasicHttpParams();HttpConnectionParams.setStaleCheckingEnabled(basicHttpParams, false);basicHttpParams.setParameter(ConnRouteParams.DEFAULT_PROXY, httpHost);// 使用设置的参数创建HttpClient实例HttpClient defaultHttpClient = new DefaultHttpClient(basicHttpParams);


例子下载


四、实验
1. 本地设置wap为CMWAP, 执行例子程序(HttpClient使用代理上网)。
2. 本地设置wap为CMWAP,配置错误的代理IP, 执行例子程序(HttpClient使用代理上网)。
     可以通过本地软件检测,错误配置本地IP如果软件中为做处理不能连接网络。例如google市场
3. 本地设置net, 执行例子程序(HttpClient使用代理上网)。 不能联网


思考:
判断当前使用的是net还是wap?
本地保存的接入点相关信息?
* 导出db文件方式
未root手机
root手机
模拟器
通过proxy字段判断是哪种连接方式



     

资料:
CMWAP和CMNET 的主要区别与适用范围
http://zhidao.baidu.com/question/25439575
     (疑问:只有一种接入方式GPRS,CMNET和CMWAP是人为划分的两种GPRS接入方式。)     
     GPRS是通用分组无线服务技术,主要目的是在民用通信(打电话)方面用于数据传输的工具。

GPRS
http://www.vertpedia.com/showwiki.asp?keywords=GPRS

WAP
http://baike.baidu.com/view/7319.htm
http://zh.wikipedia.org/wiki/%E6%97%A0%E7%BA%BF%E5%BA%94%E7%94%A8%E5%8D%8F%E8%AE%AE

 Android 1.5 的APN设定与上网处理
http://blog.csdn.net/liujian885/article/details/5656350

教你如何开关Android的APN网络
http://www.iteye.com/topic/565662

default、mms、supl、dun、hipri接入点类型的区别default、mms、supl、dun、hipri接入点类型的区别
http://www.harde.org/blog/2011/09/default%E3%80%81mms%E3%80%81supl%E3%80%81dun%E3%80%81hipri%E6%8E%A5%E5%85%A5%E7%82%B9%E7%B1%BB%E5%9E%8B%E7%9A%84%E5%8C%BA%E5%88%AB.html


判断联网状态(切换网络之后,想要知道何时建立连接了。【或者是使用重试解决?】)
http://www.cnblogs.com/jk1001/archive/2010/07/29/1787664.html



转载请注明出处:http://blog.csdn.net/love_world_/article/details/7887973


2013-04-22  添加思考条目


全面解读HTTP Cookie
http://www.webryan.net/2011/08/wiki-of-http-cookie/



原创粉丝点击