位置: 编程技术 - 正文

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)

  • 转让金融商品应交增值税税率
  • 劳务费税率计算公式
  • 纳税期是多久
  • 房地产增值税抵减土地出让金
  • 微型企业政府补贴政策
  • 将外购的货物赠送给儿童福利院,进项税
  • 收到公司退货会计分录
  • 个人转让不动产给个人独资企业
  • 境外分回的股息并入应纳税所得
  • 暂估出库是什么意思
  • 公益性捐赠全额扣除2020年第9号文件
  • 传媒公司的成本构成有哪些
  • 企业开出增值税专用发票后注销
  • 个体户税务登记怎么注销
  • 交强险和车船税必须一起交吗
  • 递延年金现值计算公式解释
  • 月销售额小于10万的一般纳税人减免
  • 房租收入如何结转成本
  • 减免税附报需要哪些资料?
  • 股权激励取消怎么处理?
  • 出口货物退免税凭证资料应当保存几年
  • 银行承兑电子汇票到期要怎么操作
  • js app框架
  • 在win7中,为什么打开盘符在新窗口中出现?
  • 待抵扣进项税期末要结转吗
  • 劳务报酬纳税计算器
  • 农产品核定扣除办法
  • 皮肤痒怎么回事
  • 会计虚假做账
  • 其他收益年末需要结转吗
  • yolov5模型中git的作用
  • icon图标教程
  • php面向对象的三大特征
  • 委托贷款业务是资产业务吗
  • YOLOv5|YOLOv7|YOLOv8改各种IoU损失函数:YOLOv8涨点Trick,改进添加SIoU损失函数、EIoU损失函数、GIoU损失函数、α-IoU损失函数
  • eccv论文下载
  • access宏操作
  • mongodb建立索引的命令
  • 印花税的申报表怎么打印
  • 小企业会计准则适用于哪些企业
  • 小规模收入怎么算
  • 申报企业所得税会计分录怎么写
  • 新会计准则印花税规定
  • 职工教育经费能开专票吗
  • 认证过的发票红冲了还要退回吗
  • 其他应收款核算什么
  • 法人往自己公司打款没用注明用途
  • 道路交通事故中施救费应如何处理?
  • 劳务分包需要什么条件
  • 未达起征点怎么报税
  • 收到个人退回的社保费,怎样做分录
  • 客户将发票丢了怎么赔偿
  • 上市公司应付会计
  • 准确配置
  • win8任务管理器在哪
  • win10开始按钮点不动
  • iexplores.exe是什么病毒
  • windows10设置无法使用
  • WinCtlAdAlt.exe - WinCtlAdAlt是什么进程
  • qqexternal.exe是什么进程如何删除(CPU的使用率在90%)
  • .exe是啥
  • 电脑出现win 7 界面 然后就不动了
  • win1020h2版本要更新吗
  • mssecsvc是什么进程
  • mxtask.exe - mxtask是什么进程文件 有什么用
  • executor进程
  • win7屏幕调节不见了
  • nodejs实战教程
  • 输出中断
  • android工具包
  • python str()怎么用
  • python自定义min_self函数
  • 税控盘税务数字书驱动找不到应用程序是咋回事
  • 供暖企业所涉及的行业
  • 征求意见稿 讨论稿 送审稿
  • 单位医保账号怎么注销掉
  • 国税纳税申报表打印
  • 减免性质代码怎么填写才正确
  • 税务协查工作亮点
  • 庐山坐缆车上去后还要买门票吗?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设