package com.cz.utils; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import java.util.HashMap; import android.util.Log; public class HttpUtil { private static final String GET = "GET"; private static final String POST = "POST"; private static final int connectTimeout = 6000; private static final int readTimeout = 30000; /** * GET方式发送数据 */ public static String sendGet(String http, String data, String charset) { return request(http, data, charset, GET); } public static String sendGet(String http, HashMap<String, String> map, String charset) { return sendGet(http, map, charset, false); } public static String sendGet(String http, HashMap<String, String> map, String charset, boolean encode) { return sendGet(http, praseMap(map, charset, encode), charset); } /** * POST方式发送数据 */ public static String sendPost(String http, String data, String charset) { return request(http, data, charset, POST); } public static String sendPost(String http, HashMap<String, String> map, String charset) { return sendPost(http, map, charset, false); } public static String sendPost(String http, HashMap<String, String> map, String charset, boolean encode) { return sendPost(http, praseMap(map, charset, encode), charset); } /** * 解析map */ private static String praseMap(HashMap<String, String> map, String charset, boolean encode) { StringBuffer sb = new StringBuffer(); if (map != null && !map.isEmpty()) { try { boolean f = true; String v; for (String k : map.keySet()) { if (k != null && !"".equals(k)) { v = map.get(k).trim(); if (!f) sb.append("&"); if (encode) v = URLEncoder.encode(v, charset); sb.append(k).append("=").append(v); f = false; } } } catch (Exception e) { e.printStackTrace(); } } return sb.toString().trim(); } private static String request(String http, String data, String charset, String type) { StringBuffer sb = new StringBuffer(); HttpURLConnection conn = null; OutputStreamWriter out = null; BufferedWriter bw = null; InputStreamReader isr = null; BufferedReader br = null; try { if (GET.equals(type) && data != null && !"".equals(data)){ http = http + "?" + data; } URL u = new URL(http); conn = (HttpURLConnection) u.openConnection(); conn.setRequestMethod(type); conn.setConnectTimeout(connectTimeout); conn.setReadTimeout(readTimeout); if (POST.equals(type)) conn.setDoOutput(true); conn.setDoInput(true); conn.connect(); // 传送数据 if (POST.equals(type)) { if (data != null && !"".equals(data)) { out = new OutputStreamWriter(conn.getOutputStream(), charset); bw = new BufferedWriter(out); bw.write(data); bw.flush(); } } // 接收数据 if (conn.getResponseCode() == 200) { isr = new InputStreamReader(conn.getInputStream(), charset); br = new BufferedReader(isr); String line; while ((line = br.readLine()) != null){ sb.append(line).append(System.getProperty("line.separator")); } } } catch (Exception e) { e.printStackTrace(); } finally { try { bw.close(); } catch (Exception e) { } try { out.close(); } catch (Exception e) { } try { br.close(); } catch (Exception e) { } try { isr.close(); } catch (Exception e) { } try { conn.disconnect(); } catch (Exception e) { } } Log.e("sb:", sb.toString().trim()); return sb.toString().trim(); } }
相关推荐
java网络请求工具类 HttpURLConnection post请求工具类HttpURLConnection httpURLConnection = (HttpURLConnection) url .openConnection(); httpURLConnection.setRequestMethod("POST");// 提交模式
这是我的博客Android框架 之网络请求框架系列文章第二弹的HttpUrilConnection封装的源码
此代码为网络请求的工具类 包含原生的HttpClient 、HttpUrlConnection以及Xutils 和Volley框架的网络请求。
里面详细的写了post和get和HttpPost和HttpGet请求
调用URL对象的openConnection( )来获取HttpURLConnection对象实例: HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 设置HTTP请求使用的方法:conn.setRequestMethod("GET"); 设置连接超时,...
android之通过HttpURLConnection类查看网络图片、网络源码的例子android之通过HttpURLConnection类查看网络图片、网络源码的例子
一个基于Java原生的Http客户端。HttpNet网络请求框架基于HttpUrlConnection
这是一个关于httpurlconnection 的网络post get 图片下载的Demo
HttpURLConnection conn = (HttpURLConnection) imageUrl.openConnection();// 取得连接 conn.connect(); InputStream is = conn.getInputStream();//取得返回的InputStream bitmap = BitmapFactory....
这个demo实现了Android网络请求添加header请求参数实例,包括HttpURLConnection,AsyncHttpClient两个大请求类实现方法
android使用Java原生httpUrlConnection进行get请求
Android HttpUrlConnection使用方法 post and get json.
NULL 博文链接:https://lydia-fly.iteye.com/blog/2033391
使用HttpURLConnection实现断点续传
Android中网络请求一般使用Apache HTTP Client或者采用HttpURLConnection,但是直接使用这两个类库需要写大量的代码才能完成网络post和get请求,而使用这个MyHttpUtils库可以大大的简化操作,它是基于...
Android使用HttpURLConnection访问网络
android studio实现HttpsURLConnection post请求的发送并接收
web端就是一个简单的php页面,已经放在的我的sae albet.sinaapp.com上,直接使用demo中的url就行,当然,也可以把testPost.PHP放在自己的网站,把url改了就行
在 Android 中对 HttpURLConnection 的简单使用,仅供参考。
导语:个人对网络连接接触的不多,在使用时自己发现一些问题,记录一下。 正文:我在使用HttpURLConnection.getResponseCode()的时候直接报错是... 您可能感兴趣的文章:Android使用URLConnection提交请求的实现Androi