网络传输---HttpURLConnection
HttpURLConnection是java做网络传输的一种,一般用于做数据的传输如xml数据传输
1.创建及配置:
1.1创建一个url对象,并指定url的地址
URL url = new URL(urlString);
1.2 对此地址所引用的远程对象的连接
HttpURLConnection httpUrlConnection = (HttpURLConnection) url.openConnection();
1.3 对此连接进行配置
//设置HttpURLConnection参数httpUrlConnection.setRequestMethod("POST");// 设置是否向httpUrlConnection输出,因为这个是post请求,参数要放在// http正文内,因此需要设为true, 默认情况下是false;httpUrlConnection.setDoOutput(true);// 设置是否从httpUrlConnection读入,默认情况下是true;httpUrlConnection.setDoInput(true);//设置不使用缓存httpUrlConnection.setUseCaches(false);//设置发送请求为utf-8httpUrlConnection.setRequestProperty("Content-type", "text/html;charset=utf-8");//设置网络请求时间最多为5秒;httpUrlConnection.setConnectTimeout(5000);//读取网页请求结果时间为15秒httpUrlConnection.setReadTimeout(25000);
1.4 这些配置完成之后才能开启连接
// 连接,从上述url.openConnection()至此的配置必须要在connect之前完成,httpUrlConnection.connect();
2.获得对HttpURLConnection远程对象连接的输出
//输出OutputStream out = httpUrlConnection.getOutputStream();//用到了缓存流,提高IO效率,由于数据为字符,用到字符转字节的包装流,并设置UTF-8编码BufferedWriter bout = new BufferedWriter(new OutputStreamWriter(out,"utf-8"));bout.write("demo");bout.flush();bout.close();
3.获得对HttpURLConnection远程对象连接的输入结果
//获得返回结果if (httpUrlConnection.getResponseCode() == httpUrlConnection.HTTP_OK) {//判断状态码是否为200InputStream in = httpUrlConnection.getInputStream();BufferedReader reader = new BufferedReader(new InputStreamReader(in));StringBuffer stringBuffer = new StringBuffer();String str = "";while ((str = reader.readLine()) != null) {stringBuffer.append(str+"\n");}reader.close();in.close();return stringBuffer.toString();}else{return null;}
4.PS:用到HttpURLConnection对象时肯定存在相对应的url地址,此时需要服务器部署url资源,用服务器对指定的请求做处理
转载于:https://www.cnblogs.com/future-eye/p/8447899.html
网络传输---HttpURLConnection相关推荐
- ensp大型网络环境设计与实现_mongodb内核源码设计实现、性能优化、最佳运维系列-网络传输层模块源码实现三...
1. 说明 在之前的<<Mongodb网络传输处理源码实现及性能调优-体验内核性能极致设计>>和<<mongodb内核源码设计实现.性能优化.最佳运维系列-tran ...
- Android 实现无网络传输文件(2)
在我的上一篇文章:Android 实现无网络传输文件,我介绍了通过 Wifi Direct(Wifi 直连)实现 Android 设备之间进行文件传输的方法,可以在无移动网络的情况下实现点对点的文件传 ...
- java字符串 直接能网络传输吗_atitit.二进制数据无损转字符串网络传输
atitit.二进制数据无损转字符串网络传输 1. gbk的网络传输问题,为什么gbk不能使用来传输二进制数据 gbk会造成信息丢失 由于有些字符在gbk字符集中找不到对应的字符,所以默认使用编码63 ...
- 网络传输模型(概念)
网络传输的参考模型有两种,一种是OSI(Open System InetConnection)参考模型,其有七层,另一种是TCP/IP参考模型,被减压成四层.OSI模型在当下以基本被TCP/IP模型所 ...
- 解决TCP网络传输“粘包”问题
当前在网络传输应用中,广泛采用的是TCP/IP通信协议及其标准的socket应用开发编程接口(API).TCP/IP传输层有两个并列的协议:TCP和UDP.其中TCP(transport contro ...
- php上传报文,PHP-02.文件上传、php保存/转移上传的文件、常见的网络传输协议、请求报文及属性、响应报文及属性...
关系数组 array("key"=>"value",...) ; get没有数据大小的限制 post上传大小没有限制 不指定上传方式,默认是get 文件上 ...
- 网络传输中的两个阶段、阻塞IO、非阻塞IO和多路复用
今天学习了网络传输中的两个阶段.阻塞IO.非阻塞IO和多路复用 一.网络传输中的两个阶段 分别是 waitdata 和 copydata send就是copydata recv是waitdata和co ...
- Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)
MD5和RSA是网络传输中最常用的两个算法,了解这两个算法原理后就能大致知道加密是怎么一回事了.但这两种算法使用环境有差异,刚好互补. 一.MD5算法 首先MD5是不可逆的,只能加密而不能解密.比如明 ...
- 网络传输大端序_基于大端法、小端法以及网络字节序的深入理解
关于字节序(大端法.小端法)的定义<UNXI网络编程>定义:术语"小端"和"大端"表示多字节值的哪一端(小端或大端)存储在该值的起始地址.小端存在起 ...
最新文章
- tf.signal.stft() 短时傅里叶变换的示例
- 新浪博客服务器维护,服务器安全维护
- 【Linux】3.dpkg、apt安装卸载软件
- php 注册树,php设计模式-注册树模式
- JavaScript内存泄漏知多少?
- 用了Elasticsearch后,查询起飞了!
- 第五十二期:Java开发数据库设计的14个技巧,你知道几个?
- angular linux 打包不成功_Angular Library 系列之 构建和打包
- Python笔记-Flask框架Get和Post参数相关
- 【Python】Python3.7.3 - Collections (Arrays) - List数据类型
- MSP430程序库二UART异步串口
- linux 渲染程序图层管理,Linux驱动多图层开发--lcdc/framebuffer的注册(RK平台)
- 前端实现红包雨功能_微信隐藏的7个实用功能,你都知道吗?真的白玩这么久微信...
- 清华姚班毕业生开发新特效编程语言,99行代码实现《冰雪奇缘》
- Appium下载遇到的问题
- DSP技术是利用计算机或,DSP技术是什么?
- 电脑计算机 系统制造方法是,如何制作车载计算机系统
- 【ProcessOn】在线流程图、思维导图、原型图、UML图制作工具ProcessOn使用
- launch参数JAVA_javafx主要方法launch(args)如何工作? - java
- 15种手机游戏引擎和开发工具介绍
热门文章
- redis key命名规范_公司内部 Redis 使用规范
- 三款JSON类库Jackson,Gson与JSON-lib的性能对比
- 《『若水新闻』客户端开发教程》——15代码编写(7)
- CentOS操作系统keepalived安装步骤
- redux-form(V7.4.2)笔记(三)之Flow简介
- Linux常用命令--iconv
- WPF老矣,尚能饭否——且说说WPF今生未来(中):策略
- 主流视频客户端核心代码的实现
- windows 下使用github
- 对中文版“Siri”打个招呼吧!