1、Http请求:get方式

  1. public void httpGet(String url,Map<String,Object> map) {
  2. try {
  3. String joint = parseMap(map);
  4. if(!TextUtils.isEmpty(url)) {
  5. url = url+"?"+joint;
  6. }
  7. URL newUrl = new URL(url);//创建URL
  8. //打开网络连接
  9. HttpURLConnection conn = (HttpURLConnection)newUrl.openConnection();
  10. conn.setRequestMethod("GET");//设置请求方式
  11. InputStream is = conn.getInputStream();//获取输入流(读取流)
  12. BufferReader reader = new BufferReader(new InputStreamReader(is));
  13. StringBuffer buffer = new StringBuffer();
  14. if(2000 == conn.getResponseCode()) {//判断响应状态
  15. String msg = null;
  16. while(null != (msg = reader.readLine())) {//读取返回数据
  17. buffer.append(msg);
  18. }
  19. }
  20. Log.d("result",buffer.toString());
  21. is.close();//关闭输入流
  22. conn.disconnect();//关闭网络连接
  23. } catch(MalformedURLException e) {
  24. e.printStackTrace();
  25. } catch(IOException e) {
  26. e.printStackTrace();
  27. }
  28. }

解析传入参数:

  1. public String parseMap(Map<String,Object> map) {
  2. String result = "";
  3. try {
  4. if(null == map) {
  5. return result;
  6. }
  7. for(String key : map.keySet()) {
  8. result = result + key + "=" + URLEncoder.encode(map.get(key).toString(),"UTF-8")+"&";
  9. }
  10. if(!TextUtils.isEmpty(result)) {
  11. result = result.substring(0,result.length() - 1);
  12. }
  13. } catch(UnsupportedEncodingException e) {
  14. e.printStackTrace();
  15. }
  16. return result;
  17. }

2、Http请求 :post方式

  关于Content-Type类型特别说明,相关连接http://blog.csdn.net/blueheart20/article/details/45174399

  1. public void httpPost(String url,String jsonObject) {
  2. URL newUrl = null;
  3. try {
  4. if(null == url) {
  5. return;
  6. }
  7. newUrl = new URL(url);
  8. HttpURLConnection conn = (HttpURLConnection)newUrl.openConnection();
  9. conn.setRequestMethod("POST");//设置请求方式
  10. conn.setInput(true);//设置允许输入
  11. conn.setOutput(true);//设置允许输出
  12. conn.setConnectTimeout(30000);//设置连接主机超时(单位:毫秒)
  13. conn.setReadTimeout(30000);//设置从主机读取数据超时(单位:毫秒)
  14. conn.setRequestProperty("Content-Type","application/json");//设置请求头体格式
  15. conn.setRequestProperty("Charset","UTF-8");//设置请求体编码
  16. conn.setRequestProperty("Content-Length",String.valueOf(jsonObject.getBytes().length));//设置请求体长度
  17. OutputStream os = conn.getOutputStream();//获取输出流(写入流)
  18. os.write(jsonObject.getBytes());//输出数据
  19. os.flush();
  20. InputStream is = conn.getInputStream();
  21. BufferReader reader = new BufferReader(new InputStreamReader(is));
  22. StringBuffer buffer = new StringBuffer();
  23. String msg = null;
  24. while(null != (msg = reader.readLine())) {
  25. buffer.append(msg);
  26. }
  27. Log.d("result",buffer.toString());
  28. is.close();
  29. conn.disconnect();
  30. } catch (MalformedURLException e) {
  31. e.printStackTrace();
  32. } catch (UnsupportedEncodingException e) {
  33. e.printStackTrace();
  34. } catch (ProtocolException e) {
  35. e.printStackTrace();
  36. } catch (IOException e) {
  37. e.printStackTrace();
  38. }
  39. }

Http请求小结的更多相关文章

  1. Ajax请求小结

    参数说明 ajax请求异步刷新页面=把需要异步刷新的页面单独写成一个.cshtml进行操作$.ajax({}); -------ajax方法.type: ------- 类型,此处为“POST” 还有 ...

  2. ajax的异步请求小结

    如何判断是使用json还是jsp的数据传输: json字符串可以使用js,jquery,ajax,java这几种技术,页面为jsp页面,json数据为java后台传递来. 1.同步请求可以从因特网请求 ...

  3. postman使用动态token发post请求小结

    最近使用postman做接口测试,感觉挺好用的. 测试中,每次post请求都要携带一个token,token是通过get请求得来的,动态变化的,并且token有有效期的限制.为了避免重复获取token ...

  4. 图解:HTTP 范围请求,助力断点续传、多线程下载的核心原理

    题图:by Charles Loyer 一.序 Hi,大家好,我是承香墨影! HTTP 协议在网络知识中占据了重要的地位,HTTP 协议最基础的就是请求和响应的报文,而报文又是由报文头(Header) ...

  5. PHP实现登录,注册,密码修改

    注册,登录,修改密码 1.登录 2.忘记密码 3.免费注册 页面布局 <div id="views" class="views"> <div ...

  6. 第86节:Java中的JQuery基础

    第86节:Java中的JQuery 前言复习 定时器: setInterval clearInterval setTimeout clearTimeout 显示: img.style.display ...

  7. http 断点续传

    一.序 Hi,大家好,我是承香墨影! HTTP 协议在网络知识中占据了重要的地位,HTTP 协议最基础的就是请求和响应的报文,而报文又是由报文头(Header)和实体组成.大多数 HTTP 协议的使用 ...

  8. 由"跨域"引出的一个终极思想(jsonp)

    1.什么是跨域? 当协议.子域名.主域名.端口号中任意一个不相同时,都算作不同域. 跨域并不是请求发不出去,请求能发出去,服务端能收到请求并正常返回结果,但是因为浏览器存在一个"同源策略&q ...

  9. 笔记67 Spring Boot快速入门(七)

    SpringBoot+RESTful+JSON 一.RESTful架构 REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. ...

随机推荐

  1. JDBC(四)

    1 Apache DBUtils框架 1.1 DBUtils简介 commons-dbutils是Apache组织提供的一个开源JDBC工具类库,它是对JDBC的简单封装,学习成本非常低,并且使用db ...

  2. 【转】centos安装vim7.4

    centos安装vim7.4   系统版本centos6.4; root权限 su - root     卸载 $ rpm -qa | grep vim $ yum remove vim vim-en ...

  3. 【转】国际GNSS服务组织IGS

    国际GNSS服务组织The International GNSS Service,简称IGS,前身为国际GPS服务组织.IGS提供的高质量数据和产品被用于地球科学研究等多个领域. IGS组织由卫星跟踪 ...

  4. JavaSE基础篇—流程控制语句—方法的定义 调用和重载

    1.定义方法 是封装在一起来执行操作语句的集合,用来完成某个功能操作,简单的说就是提取出来的有特定功能的代码(程序).在某些语言中被称为函数或者过程,比较特殊的方法是main方法(主方法),main方 ...

  5. Cannot read property 'component' of undefined 即vue-router 0.x转化为2.x

    原文链接:http://blog.csdn.net/m0_37754657/article/details/71269988 由于vue版本为1.0,没有一些vue-router指令:因而需要vue- ...

  6. BZOJ CF388D. Fox and Perfect Sets [线性基 数位DP]

    CF388D. Fox and Perfect Sets 题意:求最大元素\(le n\)的线性空间的个数 给神题跪了 orz 容易想到 每个线性基对应唯一的线性空间,我们可以统计满足条件的对应空间不 ...

  7. BZOJ 2882: 工艺 [后缀自动机+map]

    Description 小敏和小燕是一对好朋友. 他们正在玩一种神奇的游戏,叫Minecraft. 他们现在要做一个由方块构成的长条工艺品.但是方块现在是乱的,而且由于机器的要求,他们只能做到把这个工 ...

  8. BZOJ 2083: [Poi2010]Intelligence test [vector+二分]

    2083: [Poi2010]Intelligence test Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 469  Solved: 227[Su ...

  9. Nginx设置身份验证

    在某些情况下,需要对某些内容的访问进行限制,在Nginx中也提供了这样的限制措施,以下是几种常见的限制措施: 1.访问身份验证 在Nginx的插件模块中有一个模块ngx_http_auth_basic ...

  10. fatal error C1083:无法打开包括文件:“stdint.h”: No such file or directory解决方案

    stdint.h文件是C99的标准头文件,默认情况下VC是不支持的,所以在使用过程中肯定会碰到 "No such file or directory"的问题. 解决办法 1.从网盘 ...