1. public class MyHttpUrlCon {
  2.  
  3. public static String settionId = "";
  4.  
  5. public static final int TIMEOUT = ;//
  6.  
  7. public ReturnData doGet(String urlString) {
  8. HttpURLConnection conn = null;
  9. try {
  10.  
  11. URL url = new URL(urlString);
  12. conn = (HttpURLConnection) url.openConnection();
  13. conn.setConnectTimeout();
  14. conn.setReadTimeout();
  15. conn.setRequestMethod("GET");
  16. conn.setRequestProperty("cookie", settionId);
  17. conn.connect();
  18.  
  19. if (conn.getHeaderField("set-cookie") != null) {
  20. settionId = conn.getHeaderField("set-cookie");
  21. Log.d("mm", "Constants.settionId:" + settionId);
  22. } else {
  23. return new ReturnData(ReturnData.TimeOut, "");
  24. }
  25.  
  26. if (conn.getResponseCode() == ) {
  27. InputStream is = conn.getInputStream();
  28. BufferedReader bf = new BufferedReader(
  29. new InputStreamReader(is));
  30. String line = "";
  31. StringBuilder sb = new StringBuilder();
  32. while ((line = bf.readLine()) != null) {
  33. sb.append(line);
  34. }
  35. String jsonString = sb.toString().replace("\n", "\\n")
  36. .replace("\r", "\\r");
  37. String jsonStr = jsonString.substring(jsonString.indexOf("{"),
  38. jsonString.length());
  39.  
  40. return new ReturnData(ReturnData.Succee, jsonStr);
  41.  
  42. } else {
  43. return new ReturnData(ReturnData.NoRespond, "");
  44. }
  45.  
  46. } catch (IOException e) {
  47. // TODO Auto-generated catch block
  48. e.printStackTrace();
  49. return new ReturnData(ReturnData.NoRespond, "");
  50. } finally {
  51. if (conn != null) {
  52. conn.disconnect();
  53. }
  54. }
  55. }
  56.  
  57. public ReturnData doPost(String urlString, String params) {
  58. URL url;
  59. HttpURLConnection conn = null;
  60. InputStream input = null;
  61. try {
  62. url = new URL(urlString);
  63. conn = (HttpURLConnection) url.openConnection();
  64. conn.setConnectTimeout(); // 请求超时
  65. conn.setRequestMethod("POST"); // 请求方式
  66. conn.setReadTimeout(); // 读取超时
  67. conn.setDoOutput(true);
  68. conn.setDoInput(true);
  69. conn.setUseCaches(false);
  70. conn.setRequestProperty("Charset", "UTF-8");
  71. conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
  72. // conn.setRequestProperty("cookie", settionId);
  73. OutputStream os = conn.getOutputStream();
  74. System.out.println("请求的参数" + params);
  75. os.write(params.getBytes("utf-8"));
  76. os.close();
  77.  
  78. if (conn != null) {
  79. int code = conn.getResponseCode();
  80. System.out.println(code + ":");
  81. if (code == ) {
  82. input = conn.getInputStream();
  83. BufferedReader bf = new BufferedReader(
  84. new InputStreamReader(input));
  85. String line = "";
  86. StringBuilder sbuilder = new StringBuilder();
  87. while ((line = bf.readLine()) != null) {
  88. sbuilder.append(line);
  89. }
  90. System.out.println(sbuilder.toString());
  91. String jsonString = sbuilder.toString()
  92. .replace("\n", "\\n").replace("\r", "\\r");
  93. String jsonStr = jsonString.substring(
  94. jsonString.indexOf("{"), jsonString.length());
  95. return new ReturnData(ReturnData.Succee, jsonStr);
  96. } else {
  97. return new ReturnData(ReturnData.NoRespond, "");
  98. }
  99. } else {
  100. return new ReturnData(ReturnData.NoRespond, "");
  101. }
  102. } catch (Exception e) {
  103. e.printStackTrace();
  104. return new ReturnData(ReturnData.NoRespond, "");
  105. } finally {
  106. if (conn != null) {
  107. conn.disconnect();
  108. }
  109. }
  110. }
  111.  
  112. }
  113.  

public class ReturnData {

public final static int ParserError = -3;
public final static int ParamsError = -2;
public final static int False = -1;
public final static int Succee = 0;
public final static int TimeOut = 1;
public final static int NoRespond = 2;

// 网络请求标记
private int code;
// 返回数据
private String data;

public ReturnData(int code, String data) {
this.code = code;
this.data = data;
}

/**
* 网络请求标记
*
* @return
*/
public int getCode() {
return code;
}

/**
* 网络请求标记
*
* @param code
*/
public void setCode(int code) {
this.code = code;
}

/**
* 返回数据
*
* @return
*/
public String getData() {
return data;
}

/**
* 返回数据
*
* @param data
*/
public void setData(String data) {
this.data = data;
}

}

Android Http Get Post的更多相关文章

  1. 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新

    本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...

  2. 配置android sdk 环境

    1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/

  3. Android SwipeRefreshLayout 下拉刷新——Hi_博客 Android App 开发笔记

    以前写下拉刷新 感觉好费劲,要判断ListView是否滚到顶部,还要加载头布局,还要控制 头布局的状态,等等一大堆.感觉麻烦死了.今天学习了SwipeRefreshLayout 的用法,来分享一下,有 ...

  4. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

  5. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  6. 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新

    [原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...

  7. 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新

    上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...

  8. Android Studio 多个编译环境配置 多渠道打包 APK输出配置

    看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...

  9. JS调用Android、Ios原生控件

    在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...

  10. Android UI体验之全屏沉浸式透明状态栏效果

    前言: Android 4.4之后谷歌提供了沉浸式全屏体验, 在沉浸式全屏模式下, 状态栏. 虚拟按键动态隐藏, 应用可以使用完整的屏幕空间, 按照 Google 的说法, 给用户一种 身临其境 的体 ...

随机推荐

  1. object is not an instance of declaring class

    错误原因:invoke方法的时候,应该是类的实例对象,而不是类本身 解决方法:把 PowerMockito.doReturn(index_expect).when(IndexController.cl ...

  2. 修改PHP session 默认时间方法

    修改三行如下: 1.session.use_cookies把这个的值设置为1,利用cookie来传递sessionid 2.session.cookie_lifetime这个代表SessionID在客 ...

  3. Java正则表达式之Matcher类的find和matches方法的区别

    讨论整个问题之前,先看个例子:   从上面的例子可以看出 matches()是整个字符串完全匹配时,才会返回true 而find()则只需要字符串中,找到某部分的子字符串匹配则返回true       ...

  4. 对象中prototype与__proto__与从cinstructor的作用和区别

    首先先要知道prototype什么时间才会有 只有在创建函数的时候,每当函数创建的时候才会原型prototype,还有一个constructor,这个不是函数独有的,对象也有 下面就来说说对象prot ...

  5. Datagrid方法扩展 - tooltip

    最新版本的jQuery Easyui新出来了一个组件叫tooltip,就是提示框.以前的版本没有这个组件的时候就有很多在问,datagrid的单元格,我要加鼠标提示要怎么做.原来我告诉他们的方法都是用 ...

  6. Spring MVC文本框

    以下示例显示如何使用Spring Web MVC框架在表单中使用文本框.首先使用Eclipse IDE来创建一个Web工程,按照以下步骤使用Spring Web Framework开发基于动态表单的W ...

  7. poj 1270(dfs+拓扑排序)

    题目链接:http://poj.org/problem?id=1270 思路:就是一简单的dfs+拓扑排序,然后就是按字典序输出所有的情况. http://paste.ubuntu.com/59872 ...

  8. Gson和Fastjson的使用

    转载自:JSON技术的调研报告 一.Google的Gson包的使用简单介绍. Gson类:解析json的最基础的工具类 JsonParser类:解析器来解析JSON到JsonElements的解析树 ...

  9. HDOJ 5044 Tree

    树链剖分裸题. . .. 又要扩栈又要输入挂还卡格式....真无语 Tree Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 6553 ...

  10. redis 集群出现的错误

    1 解决方法: 不用 Jedis jed =new jedis("192.168.56.101"); jed.set(key,value); 用 Set<HostAndPor ...