- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android网络之HttpUrlConnection和Socket关系解析
Android网络之HttpUrlConnection和Socket关系解析
多年以前Android的网络请求只有Apache开源的HttpClient和JDK的HttpUrlConnection,近几年随着OkHttp的流行Android在高版本的SDK中加入了OkHttp。但在Android官方文档中推荐使用HttpUrlConnection并且其会一直被维护,所以在学习Android网络相关的知识时我们队HttpUrlConnection要有足够的了解。。。。
前几天因为时间的关系只画了图 HttpUrlConnection和Socket的关系图 ,本来说好的第二天续写,结果一直拖到了周末晚上。幸好时间还来的及,趁这短时间影响深刻,将自己解析代码过程记录下来。(PS:解析的过程有什么地方不明白的可以看看 HttpUrlConnection和Socket的关系图 图中讲出的过程和这次代码分析的过程是一样的,只不过代码讲述更加详细。所有源码都是来自Android4.0.4。有代码就有真相~!~!)
类结构图
先给大家展示一张相关类的结构图:
HttpUrlConnection和Socket关系类图
HttpUrlConnection 使用
在分析代码的时候我希望首相脑海中要有一个URL的请求过程。
这是我在网上摘的一个HttpUrlConnection请求小Demo:
public class EsmTest {
/**
* 通过HttpURLConnection模拟post表单提交
* @throws Exception
*/
@Test
public void sendEms() throws Exception {
String wen = MS2201828;
String btnSearch = EMS快递查询;
URL url = new URL(/ems.php);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod(POST);// 提交模式
// conn.setConnectTimeout(10000);//连接超时 单位毫秒
// conn.setReadTimeout(2000);//读取超时 单位毫秒
conn.setDoOutput(true);// 是否输入参数
StringBuffer params = new StringBuffer();
// 表单参数与get形式一样
params.append(wen).append(=).append(wen).append()
.append(btnSearch).append(=).append(btnSearch);
byte[] bypes = params.toString().getBytes();
conn.getOutputStream().write(bypes);// 输入参数
InputStream inStream=conn.getInputStream();
System.out.println(new String(StreamTool.readInputStream(inStream), gbk));
}
public void sendSms() throws Exception{
String message=货已发到;
message=URLEncoder.encode(message, UTF-8);
System.out.println(message);
String path =http://localhost:8083/DS_Trade/mobile/sim!add.do?message=+message;
URL url =new URL(path);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setConnectTimeout(5*1000);
conn.setRequestMethod(GET);
I
您可能关注的文档
最近下载
- CNAS认可实验室质量手册及程序文件模版及表格.docx
- 第四章(3) 软镜聚合物、硅水凝胶、制造工艺.pdf VIP
- 标准图集-07FK02-防空地下室通风设备安装.pdf VIP
- 消除艾滋病梅毒和乙肝母婴传播培训总结.docx VIP
- 二年级数学口算天天练.docx VIP
- 2025年西安铁路职业技术学院单招考试文化素质数学考试历年机考真题集含完整答案详解【考点梳理】.docx VIP
- 第四章(2) 软镜参数设计.pdf VIP
- 民航专业工程施工工期标准.pdf VIP
- 全国高中生物理竞赛课件11:天体运动种种.pptx VIP
- 2024年6月全国大学英语CET六级真题和答案解析(第一套) .pdf VIP
原创力文档


文档评论(0)