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

  1. 给Java新手的一些建议——Java知识点归纳(Java基础部分)

    写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给 ...

  2. Java基础、多线程、JVM、集合八股文自述(持续更新)

    Java基础.多线程.JVM.集合八股文自述 一.Java基础 1.1 object类有哪些方法? getClass().hashCode().equals().clone().toString(). ...

  3. Java基础看jvm,JAVA基础知识|java虚拟机(JVM)

    一.JVM简介 java语言是跨平台的,兼容各种操作系统.实现跨平台的基石就是虚拟机(JVM),虚拟机不是跨平台的,所以不同的操作系统需要安装不同的jdk版本(jre=jvm+类库:jdk=jre+开 ...

  4. 简单的介绍一下怎样如何学习Java基础

    在我看来,学习Java最好的方式就是通过书籍(或博客)+动手写代码,辅以视频,通过多写多练,达到熟练掌握的程度.博主曾经看过一篇文章,讲的是费曼学习法,其中讲到学习的四个步骤:选择目标.教学.纠错学习 ...

  5. Java基础:动态代理

    系列阅读 Java基础:类加载器 Java基础:反射 Java基础:注解 Java基础:动态代理 概述 在运行时,动态创建一组指定的接口的实现类对象(代理对象)! 代理是实现AOP(面向切面编程)的核 ...

  6. 【转】Java基础知识整理

    本博文内容参考相关博客以及<Java编程思想>整理而成,如有侵权,请联系博主. 转载请注明出处:http://www.cnblogs.com/BYRans/ PDF版下载链接:<Ja ...

  7. java基础(十) 深入理解数组类型

    戳上面的蓝字关注我们哦! 精彩内容 精选java等全套视频教程 精选java电子图书 大数据视频教程精选 java项目练习精选 1. 数组类简介   在java中,数组也是一种引用类型,即是一种类. ...

  8. java基础知识大全,java 基础知识点汇总

    java 基础知识点汇总 问题一:我声明了什么! String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个Strin ...

  9. Java基础day21

    Java基础day21 Java基础day21-网络编程 1.网络编程入门 1.1 网络编程概述 1.2 网络编程三要素 1.3 IP地址 1.4InetAddress 2.UDP通信程序 2.1 U ...

最新文章

  1. python-ldap “expected a string in the list”
  2. List「Object[]」转Map「Integer,String」处理
  3. Vue Devtools安装(谷歌浏览器插件:)
  4. 不懂得使用工具的测试不是好测试
  5. 2019-11-20 c语言参考手册
  6. gThumb 3.1.2 发布,支持 WebP 图像
  7. ubuntu系统下vscode字体显示异常(别扭)
  8. 程序员思维训练500题(附带答案)
  9. 计算机网络第七版 第四章课后答案
  10. Wcf 文件上传下载
  11. 批量导出Outlook所有联系人到vcard文件
  12. 历史题材类自媒体如何抓住用户的痛点
  13. Serial Box for Mac(软件序列号查询工具)
  14. Imx6ull 开发板通过Uboot使用网络启动系统
  15. jarvis oj level5
  16. 通过训练获得最优量化区间——Quantization Interval Learning
  17. three.js嵌入可交互的普通页面
  18. linux while 多个条件,Shell语法—— while 条件语句
  19. 多功能无线串口,空旷条件下传输距离可以达到1000米
  20. Windwos10启动后 Print Spooler 服务不能自动启动的解决方法

热门文章

  1. 金志文机器人歌叫什么_MIR发布《移动机器人部署安全指南》白皮书
  2. window.onload和jQuery的ready函数区别
  3. commons-fileupload的ServletFileUpload类
  4. 塑料模具计算机辅助设计,注塑模具3D计算机辅助设计系统
  5. matlab 矩阵中的矩阵的特征值,当矩阵的所有条目都是变量时,如何在matlab中找出矩阵的特征值?...
  6. 10. 王道考研-树与二叉树
  7. bzoj 1257: [CQOI2007]余数之和sum
  8. python3 round函数
  9. 使用原生XMLHttpRequest对象演示ajax(Ajax)功能
  10. ubuntu下c++中base64编解码测试和图片编解码测试