Android Http Get Post
2023-09-11 14:15:05 时间
1 public class MyHttpUrlCon { 2 3 public static String settionId = ""; 4 5 public static final int TIMEOUT = 30;// 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(10000); 14 conn.setReadTimeout(10000); 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() == 200) { 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(10000); // 请求超时 65 conn.setRequestMethod("POST"); // 请求方式 66 conn.setReadTimeout(1000); // 读取超时 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"); 73 // conn.setRequestProperty("cookie", settionId); 74 OutputStream os = conn.getOutputStream(); 75 System.out.println("请求的参数" + params); 76 os.write(params.getBytes("utf-8")); 77 os.close(); 78 79 if (conn != null) { 80 int code = conn.getResponseCode(); 81 System.out.println(code + ":"); 82 if (code == 200) { 83 input = conn.getInputStream(); 84 BufferedReader bf = new BufferedReader( 85 new InputStreamReader(input)); 86 String line = ""; 87 StringBuilder sbuilder = new StringBuilder(); 88 while ((line = bf.readLine()) != null) { 89 sbuilder.append(line); 90 } 91 System.out.println(sbuilder.toString()); 92 String jsonString = sbuilder.toString() 93 .replace("\n", "\\n").replace("\r", "\\r"); 94 String jsonStr = jsonString.substring( 95 jsonString.indexOf("{"), jsonString.length()); 96 return new ReturnData(ReturnData.Succee, jsonStr); 97 } else { 98 return new ReturnData(ReturnData.NoRespond, ""); 99 } 100 } else { 101 return new ReturnData(ReturnData.NoRespond, ""); 102 } 103 } catch (Exception e) { 104 e.printStackTrace(); 105 return new ReturnData(ReturnData.NoRespond, ""); 106 } finally { 107 if (conn != null) { 108 conn.disconnect(); 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 Pro] http请求中传输base64出现加号变空格的解决办法
- [Android] 解析android framework下利用app_process来调用java写的命令及示例
- HTTP Status 500 - The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
- unity android 集成指南
- Android 开发之旅:短信的收发及在android模拟器之间实践(二)
- Android -- 面试 -- 数据库升级策略
- android异步Http框架
- Android studio中 android-support-v4报错问题
- Android APP 出海实践
- Android问题笔记 - TBS如何真正意义上彻底离线使用
- android 11系统 内部存储自动生成根目录文件夹流程
- android java 堆栈_Android下打印调试堆栈方法
- Android 高版本联网失败报错:Cleartext HTTP traffic to xxx not permitted解决方法
- Android【报错】. lang。android.app ClassCastException。SharedPreferencesImpl不能被强制转换为android.content.Shared
- Android【报错】java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.Bu
- Android 主人VS宠物 游戏
- Android SQL删除表、清空表
- Android 自定义波浪侧边栏
- Android 9.0 10.0 去掉开机提示 android is starting 的对话框
- Android android studio 项目放在源码中编译
- 【Android Gradle 插件】组件化中的 Gradle 构建脚本实现 ⑤ ( 优化 Gradle 构建脚本 | 构建脚本结构 | 闭包定义及用法 | 依赖配置 | android 块配置 )
- Android之Http沟通——4.Android HTTP索取信息:HttpClient
- Android修改kernel logo和开机动画(android)