位置: 编程技术 - 正文

HttpURLConnection连接 详解

编辑:rootadmin

推荐整理分享HttpURLConnection连接 详解,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

1.HttpURLConnection连接URL

进行网络连接前必须拥有对应的权限,所以我们需要在AndroidManifest.xml文件中添加访问网络的权限:<uses-permission android:name="android.permission.INTERNET"/>

官方链接: url = new URL( conn = (HttpURLConnection) url.openConnection();

3)设置连接超时

conn.setConnectTimeout(6*);

4)对响应码进行判断

if (conn.getResponseCode() != ) //从Internet获取网页,发送请求,将网页以流的形式读回来

throw new RuntimeException("请求url失败");

5)得到网络返回的输入流

InputStream is = conn.getInputStream();

6)String result = readData(is, "GBK"); //文件流输入出文件用outStream.write

7)conn.disconnect();

总结:--记得设置连接超时,如果网络不好,Android系统在超过默认时间会收回资源中断操作.--返回的响应码,是成功.--在Android中对文件流的操作和JAVA SE上面是一样的.--在对大文件的操作时,要将文件写到SDCard上面,不要直接写到手机内存上.--操作大文件是,要一遍从网络上读,一遍要往SDCard上面写,减少手机内存的使用.这点很重要,面试经常会被问到.--对文件流操作完,要记得及时关闭.

2.向Internet发送请求参数步骤:1)创建URL对象:URL realUrl = new URL(requestUrl);

2)通过HttpURLConnection对象,向网络地址发送请求

HttpURLConnection conn = (HttpURLConnection) realUrl.openConnection();

3)设置容许输出:conn.setDoOutput(true);

4)设置不使用缓存:conn.setUseCaches(false);

HttpURLConnection连接 详解

5)设置使用POST的方式发送:conn.setRequestMethod("POST");

6)设置维持长连接:conn.setRequestProperty("Connection", "Keep-Alive");

7)设置文件字符集:conn.setRequestProperty("Charset", "UTF-8");

8)设置文件长度:conn.setRequestProperty("Content-Length", String.valueOf(data.length));

9)设置文件类型:conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");

)以流的方式输出.总结:--发送POST请求必须设置允许输出--不要使用缓存,容易出现问题.--在开始用HttpURLConnection对象的setRequestProperty()设置,就是生成HTML文件头.

3.向Internet发送xml数据XML&#;式是通信的标准语言,Android系统也可以通过发送XML文件传输数据.

1)将生成的XML文件写入到byte数组中,并设置为UTF-8:byte[] xmlbyte = xml.toString().getBytes("UTF-8");

2)创建URL对象,并指定地址和参数:URL url = new URL( conn = (HttpURLConnection) url.openConnection();

4)设置连接超时:conn.setConnectTimeout(6* );

5)设置允许输出conn.setDoOutput(true);

6)设置不使用缓存:conn.setUseCaches(false);

7)设置以POST方式传输:conn.setRequestMethod("POST");

8)维持长连接:conn.setRequestProperty("Connection", "Keep-Alive");

9)设置字符集:conn.setRequestProperty("Charset", "UTF-8");

)设置文件的总长度:conn.setRequestProperty("Content-Length", String.valueOf(xmlbyte.length));

)设置文件类型:conn.setRequestProperty("Content-Type", "text/xml; charset=UTF-8");

)以文件流的方式发送xml数据:outStream.write(xmlbyte);

总结:--我们使用的是用HTML的方式传输文件,这个方式只能传输一般在5M一下的文件.--传输大文件不适合用HTML的方式,传输大文件我们要面向Socket编程.确保程序的稳定性--将地址和参数存到byte数组中:byte[] data = params.toString().getBytes();

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android 中IO 操作数据总结 packagecom.example.File;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importor

Android OpenGL ES(六)----进入三维在代码中创建投影矩阵和旋转矩阵 我们现在准备好在代码中添加透视投影了。Android的Matrix类为它准备了两个方法------frustumM()和perspectiveM()。不幸的是,frustumM()的个缺陷,它会影响某些类

Android GBK与UTF-8 1.远程设备编码格式是GBK,因此Stringtest="你好";send(test.getBytes("GBK"));2.从远程设备中接收数据Stringstr=newString(receive().getBytes("UTF-8"),"UTF-8");tv.setText(str);用此

标签: HttpURLConnection连接 详解

本文链接地址:https://www.jiuchutong.com/biancheng/370997.html 转载请保留说明!

上一篇:Fragment详解-android学习之旅(四十八)(fragmentize)

下一篇:Android 中IO 操作数据总结(android aidl in out)

  • 购买土地税率是多少
  • 购销合同印花税按70%
  • 母公司和子公司可以一起投标吗
  • 个体户季报网上怎么报税
  • 工会活动奖励现金怎么入账
  • 核定征收小规模跟法人有往来账
  • 税务稽查补缴的税款需要申报吗
  • 委托加工物资两种情况例题
  • 固定资产的折旧费用计入什么科目
  • 固定资产清理期末可以有余额吗
  • 企业股权转让留存收益可以扣除吗
  • 应交税费消费税分录
  • 员工内部跑步活动费用怎么做分录?
  • 股东用技术股出售股票
  • 公司没有缴纳住房公积金离职能要求补缴吗
  • 公司让员工发红包
  • 小微企业所得税优惠政策
  • 上市公司非限售股股票转让收入
  • 自己盖厂房
  • 研发支出的二级科目是什么
  • 出口货物国际运输流程图
  • 非正常损失和非正常损耗的区别
  • 公司成立前的准备工作有哪些
  • safari浏览器开发者模式
  • 个税退手续费怎么申请
  • 事业单位租赁收入的处理
  • realshed.exe - realshed是什么进程 有什么用
  • 认缴出资没到位违法吗
  • 员工垫付的钱会计分录
  • 绣球花的叶子出现了斑点,这是怎么了?
  • 二手房房屋买卖注意哪些问题
  • PHP编写简易计算器
  • 自建厂房流程
  • 企业职工薪酬如何确定
  • mongodb bi
  • php如何判断是移动还是pc
  • 农产品增值税免税备案资料
  • 如何把access数据库导入excel
  • 工程施工的间接费用如何归集分配
  • 小企业在购买商品过程中发生的费用
  • 非独立核算门市部销售自产应税消费品
  • 年底计提坏账收回一部分怎么处理
  • 小规模纳税属于什么科目
  • 小规模纳税人代账费用
  • 税控设备抵减增值税金额
  • 加油充值卡有优惠吗
  • 车辆购置税是怎么计算的
  • 外购入库暂估补差单
  • 购买工程物资能使现金流量变动吗
  • 无建账能力的纳税人是什么意思
  • rhel7.2安装
  • 如何调整bios
  • 微软手机
  • centos的安装步骤
  • win8计算机配置在哪
  • win10浏览器没有网络连接
  • win10鼠标怎么换
  • EXTJS FORM HIDDEN TEXTFIELD 赋值 使用value不好用的问题
  • 常用adb命令大全
  • Android 让EditText失去焦点避免自动弹出输入法
  • android游戏开发框架
  • bat删除所有文件
  • vue基于什么
  • java中的锁机制
  • 字符串拼接join
  • unity 2021.2
  • 查看项目层级结构怎么查
  • js初级教程
  • javascript中的函数该如何理解
  • jQuery插件是什么
  • python3 flask
  • 不配合税务检查的法律责任
  • 基层税务工作难点重点热点
  • 江苏发票真伪查询
  • 沈阳市税务局全称
  • 上海ca证书税务的怎么开通
  • 城市配套费需要缴纳契税
  • 应税销售额如何计算
  • 电子发票开具之前有销售方字样,为什么开具出来就不显示了?
  • 房产税是按套还是按套
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设