java 基础一 Http请求
1.get请求方式
1 public void httpGet() throws Exception { 2 Log.e(TAG, "-----------httpGet-------------"); 3 URL url=new URL("http://www.baidu.com"); 4 HttpURLConnection conn= (HttpURLConnection)url.openConnection(); 5 conn.setRequestMethod("GET");//GET必须大小 6 conn.setConnectTimeout(5000); 7 int code=conn.getResponseCode(); 8 Log.e(TAG,"code:" + code); 9 if (code == 302) { 10 String location = conn.getHeaderField("Location"); 11 String cookies = conn.getHeaderField("Set-Cookie"); 12 Log.e(TAG, "重定向,跳转地址:" + location +", cookies="+cookies); 13 URL serverUrl = new URL(location); 14 conn = (HttpURLConnection) serverUrl.openConnection(); 15 conn.setRequestMethod("GET");//GET必须大小 16 conn.setConnectTimeout(5000); 17 conn.setRequestProperty("Cookie", cookies); 18 conn.connect(); 19 } 20 code=conn.getResponseCode(); 21 Log.e(TAG,"code:" + code); 22 if(code==200){ 23 ByteArrayOutputStream byteArrayInputStream=new ByteArrayOutputStream(); 24 InputStream inputStream= conn.getInputStream(); 25 byte[] data=new byte[1024]; 26 int len=0; 27 while ((len=inputStream.read(data))!=-1){ 28 byteArrayInputStream.write(data,0,len); 29 } 30 if(inputStream!=null)inputStream.close(); 31 String string=byteArrayInputStream.toString(); 32 Log.e(TAG,"data="+string); 33 } 34 }
2.Post请求
1 public void httpPost() throws Exception { 2 Log.e(TAG, "-----------httpPost-------------"); 3 URL url = new URL("url地址"); 4 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 5 conn.setConnectTimeout(5000); 6 //-------post 特殊有数据---------- 7 conn.setRequestMethod("POST"); 8 conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded"); 9 String data="user=lisi&pwd=123"; 10 conn.setRequestProperty("Content-Length",String.valueOf(data.length())); 11 conn.setDoOutput(true); 12 OutputStream outputStream= conn.getOutputStream(); 13 outputStream.write(data.getBytes()); 14 outputStream.flush(); 15 //------------------------------- 16 int code = conn.getResponseCode(); 17 if (code == 302) { 18 outputStream.close(); 19 //重定向 20 Log.e(TAG, "302重定向"); 21 String location = conn.getHeaderField("Location"); 22 String cookies = conn.getHeaderField("Set-Cookie"); 23 Log.e(TAG, "重定向,跳转地址:" + location +", cookies="+cookies); 24 URL serverUrl = new URL(location); 25 conn = (HttpURLConnection) serverUrl.openConnection(); 26 conn.setRequestMethod("POST");//GET必须大小 27 conn.setConnectTimeout(5000); 28 conn.setRequestProperty("Cookie", cookies); 29 30 //-------post 特殊有数据---------- 31 conn.setRequestMethod("POST"); 32 conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded"); 33 //响服务器发送的数据 34 data="user=lisi&pwd=123"; 35 conn.setRequestProperty("Content-Length",String.valueOf(data.length())); 36 conn.setDoOutput(true); 37 outputStream= conn.getOutputStream(); 38 outputStream.write(data.getBytes()); 39 outputStream.flush(); 40 //------------------------------- 41 } 42 code = conn.getResponseCode(); 43 if (code == HttpsURLConnection.HTTP_OK) { 44 InputStream inputStream = conn.getInputStream(); 45 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); 46 StringBuilder stringBuilder = new StringBuilder(); 47 String tempData = null; 48 while ((tempData = bufferedReader.readLine()) != null) { 49 stringBuilder.append(tempData); 50 } 51 bufferedReader.close(); 52 Log.e(TAG, "data=" + stringBuilder.toString()); 53 } 54 outputStream.close(); 55 }
View Code
Content-Type 参考
转载于:https://www.cnblogs.com/jtzp007/p/11029360.html
java 基础一 Http请求相关推荐
- 给Java新手的一些建议——Java知识点归纳(Java基础部分)
写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给 ...
- Java基础、多线程、JVM、集合八股文自述(持续更新)
Java基础.多线程.JVM.集合八股文自述 一.Java基础 1.1 object类有哪些方法? getClass().hashCode().equals().clone().toString(). ...
- Java基础看jvm,JAVA基础知识|java虚拟机(JVM)
一.JVM简介 java语言是跨平台的,兼容各种操作系统.实现跨平台的基石就是虚拟机(JVM),虚拟机不是跨平台的,所以不同的操作系统需要安装不同的jdk版本(jre=jvm+类库:jdk=jre+开 ...
- 简单的介绍一下怎样如何学习Java基础
在我看来,学习Java最好的方式就是通过书籍(或博客)+动手写代码,辅以视频,通过多写多练,达到熟练掌握的程度.博主曾经看过一篇文章,讲的是费曼学习法,其中讲到学习的四个步骤:选择目标.教学.纠错学习 ...
- Java基础:动态代理
系列阅读 Java基础:类加载器 Java基础:反射 Java基础:注解 Java基础:动态代理 概述 在运行时,动态创建一组指定的接口的实现类对象(代理对象)! 代理是实现AOP(面向切面编程)的核 ...
- 【转】Java基础知识整理
本博文内容参考相关博客以及<Java编程思想>整理而成,如有侵权,请联系博主. 转载请注明出处:http://www.cnblogs.com/BYRans/ PDF版下载链接:<Ja ...
- java基础(十) 深入理解数组类型
戳上面的蓝字关注我们哦! 精彩内容 精选java等全套视频教程 精选java电子图书 大数据视频教程精选 java项目练习精选 1. 数组类简介 在java中,数组也是一种引用类型,即是一种类. ...
- java基础知识大全,java 基础知识点汇总
java 基础知识点汇总 问题一:我声明了什么! String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个Strin ...
- Java基础day21
Java基础day21 Java基础day21-网络编程 1.网络编程入门 1.1 网络编程概述 1.2 网络编程三要素 1.3 IP地址 1.4InetAddress 2.UDP通信程序 2.1 U ...
最新文章
- python-ldap “expected a string in the list”
- List「Object[]」转Map「Integer,String」处理
- Vue Devtools安装(谷歌浏览器插件:)
- 不懂得使用工具的测试不是好测试
- 2019-11-20 c语言参考手册
- gThumb 3.1.2 发布,支持 WebP 图像
- ubuntu系统下vscode字体显示异常(别扭)
- 程序员思维训练500题(附带答案)
- 计算机网络第七版 第四章课后答案
- Wcf 文件上传下载
- 批量导出Outlook所有联系人到vcard文件
- 历史题材类自媒体如何抓住用户的痛点
- Serial Box for Mac(软件序列号查询工具)
- Imx6ull 开发板通过Uboot使用网络启动系统
- jarvis oj level5
- 通过训练获得最优量化区间——Quantization Interval Learning
- three.js嵌入可交互的普通页面
- linux while 多个条件,Shell语法—— while 条件语句
- 多功能无线串口,空旷条件下传输距离可以达到1000米
- Windwos10启动后 Print Spooler 服务不能自动启动的解决方法
热门文章
- 金志文机器人歌叫什么_MIR发布《移动机器人部署安全指南》白皮书
- window.onload和jQuery的ready函数区别
- commons-fileupload的ServletFileUpload类
- 塑料模具计算机辅助设计,注塑模具3D计算机辅助设计系统
- matlab 矩阵中的矩阵的特征值,当矩阵的所有条目都是变量时,如何在matlab中找出矩阵的特征值?...
- 10. 王道考研-树与二叉树
- bzoj 1257: [CQOI2007]余数之和sum
- python3 round函数
- 使用原生XMLHttpRequest对象演示ajax(Ajax)功能
- ubuntu下c++中base64编解码测试和图片编解码测试