import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.URLEncoder;import java.security.KeyStore;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Map.Entry;import org.apache.http.HttpResponse;import org.apache.http.HttpVersion;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.conn.ClientConnectionManager;import org.apache.http.conn.scheme.PlainSocketFactory;import org.apache.http.conn.scheme.Scheme;import org.apache.http.conn.scheme.SchemeRegistry;import org.apache.http.conn.ssl.SSLSocketFactory;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;import org.apache.http.message.BasicNameValuePair;import org.apache.http.params.BasicHttpParams;import org.apache.http.params.HttpParams;import org.apache.http.params.HttpProtocolParams;import org.apache.http.protocol.HTTP;import org.apache.http.util.EntityUtils;import android.content.Context;import android.net.ConnectivityManager;/** * 网络工具类 *  * @author malinkang *  */public class NetUtils {    /**     * 对网络连接状态进行判断     *      * @return true, 可用; false, 不可用     */    public static boolean isOpenNetwork(Context context) {        ConnectivityManager connManager = (ConnectivityManager) context                .getSystemService(Context.CONNECTIVITY_SERVICE);        if (connManager.getActiveNetworkInfo() != null) {            return connManager.getActiveNetworkInfo().isAvailable();        }        return false;    }    /**     * get请求     *      * @param urlString     * @param params     * @return     */    public static String getRequest(String urlString, Map<String, String> params) {        try {            StringBuilder urlBuilder = new StringBuilder();            urlBuilder.append(urlString);            if (null != params) {                urlBuilder.append("?");                Iterator<Entry<String, String>> iterator = params.entrySet()                        .iterator();                while (iterator.hasNext()) {                    Entry<String, String> param = iterator.next();                    urlBuilder                            .append(URLEncoder.encode(param.getKey(), "UTF-8"))                            .append('=')                            .append(URLEncoder.encode(param.getValue(), "UTF-8"));                    if (iterator.hasNext()) {                        urlBuilder.append('&');                    }                }            }            // 创建HttpClient对象            HttpClient client = getNewHttpClient();            // 发送get请求创建HttpGet对象            HttpGet getMethod = new HttpGet(urlBuilder.toString());            HttpResponse response = client.execute(getMethod);            // 获取状态码            int res = response.getStatusLine().getStatusCode();            if (res == 200) {                StringBuilder builder = new StringBuilder();                // 获取响应内容                BufferedReader reader = new BufferedReader(                        new InputStreamReader(response.getEntity().getContent()));                for (String s = reader.readLine(); s != null; s = reader                        .readLine()) {                    builder.append(s);                }                return builder.toString();            }        } catch (Exception e) {        }        return null;    }    /**     * post请求     *      * @param urlString     * @param params     * @return     */    public static String postRequest(String urlString,            List<BasicNameValuePair> params) {        try {            // 1. 创建HttpClient对象            HttpClient client = getNewHttpClient();            // 2. 发get请求创建HttpGet对象            HttpPost postMethod = new HttpPost(urlString);            postMethod.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));            HttpResponse response = client.execute(postMethod);            int statueCode = response.getStatusLine().getStatusCode();            if (statueCode == 200) {                System.out.println(statueCode);                return EntityUtils.toString(response.getEntity());            }        } catch (Exception e) {        }        return null;    }    // 保存时+当时的秒数,    public static long expires(String second) {        Long l = Long.valueOf(second);        return l * 1000L + System.currentTimeMillis();    }    private static HttpClient getNewHttpClient() {        try {            KeyStore trustStore = KeyStore.getInstance(KeyStore                    .getDefaultType());            trustStore.load(null, null);            SSLSocketFactory sf = new SSLSocketFactoryEx(trustStore);            sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);            HttpParams params = new BasicHttpParams();            HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);            HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);            SchemeRegistry registry = new SchemeRegistry();            registry.register(new Scheme("http", PlainSocketFactory                    .getSocketFactory(), 80));            registry.register(new Scheme("https", sf, 443));            ClientConnectionManager ccm = new ThreadSafeClientConnManager(                    params, registry);            return new DefaultHttpClient(ccm, params);        } catch (Exception e) {            return new DefaultHttpClient();        }    }}

另一种封装好的get请求,最近经常用的:

public class HttpUtils {    private final static String TAG = "EasyTokenSevice";    private final static int connectionTimeout = 5000;    private static InputStream inputStream = null;    private static String urlStr = null;    private static boolean isConnecting;    /**     * 封装http get请求     *      * @param url     * @return is     */    public static InputStream get(String url)throws IOException ,Exception {        urlStr = url;        isConnecting = true;            HttpGet httpGet = new HttpGet(urlStr);            HttpParams httpParameters = new BasicHttpParams();            HttpConnectionParams.setConnectionTimeout(httpParameters,                    connectionTimeout);            DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);            HttpResponse response = httpClient.execute(httpGet);            if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {                HttpEntity entity = response.getEntity();                inputStream = entity.getContent();                return inputStream;}            else return null;                                                    }}

更多相关文章

  1. 类和 Json对象
  2. Android(安卓)删除SD卡文件和文件及创建文件夹和文件
  3. Android(安卓)SQLite使用
  4. android http-post方法简单实现
  5. android 之simpleAdapter详解
  6. Android(安卓)P Android.dp添加逻辑判断
  7. android工具详解
  8. Android集成okhttp
  9. Android(安卓)创建线程执行任务

随机推荐

  1. Android之Layout资源文件
  2. 美团外卖Android(安卓)Lint代码检查实践
  3. Android中保存数据常用的方法
  4. 课堂小结
  5. Android系统启动顺序(按下power键后所做
  6. 3G应用开发之Android(安卓)传智播客 基础
  7. 移动平台Dialog内按键顺序研究
  8. android MapView 定位与Overlay onTap事
  9. Android找到本地联络人并向其发邮件
  10. Android studio中Git的学习和使用心得(二)