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相关推荐

  1. ensp大型网络环境设计与实现_mongodb内核源码设计实现、性能优化、最佳运维系列-网络传输层模块源码实现三...

    1. 说明 在之前的<<Mongodb网络传输处理源码实现及性能调优-体验内核性能极致设计>>和<<mongodb内核源码设计实现.性能优化.最佳运维系列-tran ...

  2. Android 实现无网络传输文件(2)

    在我的上一篇文章:Android 实现无网络传输文件,我介绍了通过 Wifi Direct(Wifi 直连)实现 Android 设备之间进行文件传输的方法,可以在无移动网络的情况下实现点对点的文件传 ...

  3. java字符串 直接能网络传输吗_atitit.二进制数据无损转字符串网络传输

    atitit.二进制数据无损转字符串网络传输 1. gbk的网络传输问题,为什么gbk不能使用来传输二进制数据 gbk会造成信息丢失 由于有些字符在gbk字符集中找不到对应的字符,所以默认使用编码63 ...

  4. 网络传输模型(概念)

    网络传输的参考模型有两种,一种是OSI(Open System InetConnection)参考模型,其有七层,另一种是TCP/IP参考模型,被减压成四层.OSI模型在当下以基本被TCP/IP模型所 ...

  5. 解决TCP网络传输“粘包”问题

    当前在网络传输应用中,广泛采用的是TCP/IP通信协议及其标准的socket应用开发编程接口(API).TCP/IP传输层有两个并列的协议:TCP和UDP.其中TCP(transport contro ...

  6. php上传报文,PHP-02.文件上传、php保存/转移上传的文件、常见的网络传输协议、请求报文及属性、响应报文及属性...

    关系数组 array("key"=>"value",...) ; get没有数据大小的限制 post上传大小没有限制 不指定上传方式,默认是get 文件上 ...

  7. 网络传输中的两个阶段、阻塞IO、非阻塞IO和多路复用

    今天学习了网络传输中的两个阶段.阻塞IO.非阻塞IO和多路复用 一.网络传输中的两个阶段 分别是 waitdata 和 copydata send就是copydata recv是waitdata和co ...

  8. Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)

    MD5和RSA是网络传输中最常用的两个算法,了解这两个算法原理后就能大致知道加密是怎么一回事了.但这两种算法使用环境有差异,刚好互补. 一.MD5算法 首先MD5是不可逆的,只能加密而不能解密.比如明 ...

  9. 网络传输大端序_基于大端法、小端法以及网络字节序的深入理解

    关于字节序(大端法.小端法)的定义<UNXI网络编程>定义:术语"小端"和"大端"表示多字节值的哪一端(小端或大端)存储在该值的起始地址.小端存在起 ...

最新文章

  1. tf.signal.stft() 短时傅里叶变换的示例
  2. 新浪博客服务器维护,服务器安全维护
  3. 【Linux】3.dpkg、apt安装卸载软件
  4. php 注册树,php设计模式-注册树模式
  5. JavaScript内存泄漏知多少?
  6. 用了Elasticsearch后,查询起飞了!
  7. 第五十二期:Java开发数据库设计的14个技巧,你知道几个?
  8. angular linux 打包不成功_Angular Library 系列之 构建和打包
  9. Python笔记-Flask框架Get和Post参数相关
  10. 【Python】Python3.7.3 - Collections (Arrays) - List数据类型
  11. MSP430程序库二UART异步串口
  12. linux 渲染程序图层管理,Linux驱动多图层开发--lcdc/framebuffer的注册(RK平台)
  13. 前端实现红包雨功能_微信隐藏的7个实用功能,你都知道吗?真的白玩这么久微信...
  14. 清华姚班毕业生开发新特效编程语言,99行代码实现《冰雪奇缘》
  15. Appium下载遇到的问题
  16. DSP技术是利用计算机或,DSP技术是什么?
  17. 电脑计算机 系统制造方法是,如何制作车载计算机系统
  18. 【ProcessOn】在线流程图、思维导图、原型图、UML图制作工具ProcessOn使用
  19. launch参数JAVA_javafx主要方法launch(args)如何工作? - java
  20. 15种手机游戏引擎和开发工具介绍

热门文章

  1. redis key命名规范_公司内部 Redis 使用规范
  2. 三款JSON类库Jackson,Gson与JSON-lib的性能对比
  3. 《『若水新闻』客户端开发教程》——15代码编写(7)
  4. CentOS操作系统keepalived安装步骤
  5. redux-form(V7.4.2)笔记(三)之Flow简介
  6. Linux常用命令--iconv
  7. WPF老矣,尚能饭否——且说说WPF今生未来(中):策略
  8. 主流视频客户端核心代码的实现
  9. windows 下使用github
  10. 对中文版“Siri”打个招呼吧!