Android 网络请求
来源:互联网 发布:usb端口禁用破解 编辑:程序博客网 时间:2024/06/15 15:53
new Thread(){ @Override public void run() { //把网络访问的代码放在这里 requestGet(null); } }.start();
1、Get请求
private void requestGet(HashMap<String, String> paramsMap) { try { String baseUrl = "http://7xtgbo.com1.z0.glb.clouddn.com/todayTask.html"; StringBuilder tempParams = new StringBuilder(); String requestUrl = baseUrl; // 新建一个URL对象 URL url = new URL(requestUrl); // 打开一个HttpURLConnection连接 HttpURLConnection urlConn = (HttpURLConnection) url.openConnection(); // 设置连接主机超时时间 urlConn.setConnectTimeout(5 * 1000); //设置从主机读取数据超时 urlConn.setReadTimeout(5 * 1000); // 设置是否使用缓存 默认是true urlConn.setUseCaches(true); // 设置为Post请求 urlConn.setRequestMethod("GET"); //urlConn设置请求头信息 //设置请求中的媒体类型信息。 urlConn.setRequestProperty("Content-Type", "application/json"); //设置客户端与服务连接类型 urlConn.addRequestProperty("Connection", "Keep-Alive"); // 开始连接 urlConn.connect(); // 判断请求是否成功 if (urlConn.getResponseCode() == 200) { // 获取返回的数据 String result = streamToString(urlConn.getInputStream()); Log.e(TAG, "Get方式请求成功,result--->" + result); } else { Log.e(TAG, "Get方式请求失败"); } // 关闭连接 urlConn.disconnect(); } catch (Exception e) { Log.e(TAG, e.toString()); } }
2、Post请求
private void requestPost(HashMap<String, String> paramsMap) { try { String baseUrl = "http://www.upaipai.cn/api/v1/login"; //合成参数 StringBuilder tempParams = new StringBuilder(); int pos = 0; for (String key : paramsMap.keySet()) { if (pos > 0) { tempParams.append("&"); } tempParams.append(String.format("%s=%s", key, URLEncoder.encode(paramsMap.get(key),"utf-8"))); pos++; } String params =tempParams.toString(); // 请求的参数转换为byte数组 byte[] postData = params.getBytes(); // 新建一个URL对象 URL url = new URL(baseUrl); // 打开一个HttpURLConnection连接 HttpURLConnection urlConn = (HttpURLConnection) url.openConnection(); // 设置连接超时时间 urlConn.setConnectTimeout(5 * 1000); //设置从主机读取数据超时 urlConn.setReadTimeout(5 * 1000); // Post请求必须设置允许输出 默认false urlConn.setDoOutput(true); //设置请求允许输入 默认是true urlConn.setDoInput(true); // Post请求不能使用缓存 urlConn.setUseCaches(false); // 设置为Post请求 urlConn.setRequestMethod("POST"); //设置本次连接是否自动处理重定向 urlConn.setInstanceFollowRedirects(true); // 配置请求Content-Type urlConn.setRequestProperty("Content-Type", "application/json"); // 开始连接 urlConn.connect(); // 发送请求参数 DataOutputStream dos = new DataOutputStream(urlConn.getOutputStream()); dos.write(postData); dos.flush(); dos.close(); // 判断请求是否成功 if (urlConn.getResponseCode() == 200) { // 获取返回的数据 String result = streamToString(urlConn.getInputStream()); Log.e(TAG, "Post方式请求成功,result--->" + result); Intent intent = new Intent(Login.this, MainActivity.class); startActivity(intent); } else { Log.e(TAG, "Post方式请求失败"); } // 关闭连接 urlConn.disconnect(); } catch (Exception e) { Log.e(TAG, e.toString()); Log.e(TAG, "Post方式请求异常"); } }
3、将输入流转换成字符串
public String streamToString(InputStream is) { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = 0; while ((len = is.read(buffer)) != -1) { baos.write(buffer, 0, len); } baos.close(); is.close(); byte[] byteArray = baos.toByteArray(); return new String(byteArray); } catch (Exception e) { Log.e(TAG, e.toString()); return null; } }
0 0
- android请求网络
- android 网络请求代理
- android网络请求连接
- Android学习--网络请求
- Android 网络请求方式
- android网络请求
- android网络请求
- android网络请求
- android 网络请求 http
- Android网络请求实例
- Android 网络请求实现
- Android网络请求
- Android异步网络请求
- 关于Android网络请求
- Android网络请求
- Android 网络请求详解
- Android 网络请求详解
- Android网络请求心路历程
- JAVA冒泡排序(递归以及非递归)
- iOS 史上最全的 UITextView 实现 placeHolder 占位文字 的N种方法
- 程序员必备的代码审查(Code Review)清单
- Unity给力插件之ShaderForge(二)
- 写了几年的css,今天才知道其中奥秘
- Android 网络请求
- Eclipse中将Java项目转换成Web项目的方法
- jsp中的jquery失效以及引入js失败的问题
- 下面哪个函数不能作为C++ std::sort的比较函数。
- Spring 注解总结
- php面试题之二——Javascript(基础部分)
- CS231n课程资料汇总
- SQL查询--列出薪资比“SMITH”多的所有员工
- Foundation框架介绍