简易网络请求工具WebHttpHelper

网络请求工具

WebHttpHelper

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import android.text.TextUtils;
import android.util.Log;

public class WebHttpHelper {

    private static WebHttpHelper util;

    public static WebHttpHelper getInstance() {

        if (util == null) {
            util = new WebHttpHelper();
        }
        return util;

    }

    private WebHttpHelper() {
        super();
    }

    public InputStream getInputStream(String urlS, Map<String, String> param,
            boolean isGet) throws Exception {
        URL url = null;
        HttpURLConnection hc = null;
        StringBuffer request = new StringBuffer();

        try {

            String get = "GET";
            for (String key : param.keySet()) {

                request.append(key + "=" + param.get(key) + "&");
            }

            String newUrl = urlS;
            if (!TextUtils.isEmpty(request.toString())) {
                newUrl = urlS + "?" + request.toString();
            }

            Log.e("url", newUrl);
            if (!isGet) {
                get = "POST";
                url = new URL(urlS);

            } else {

                url = new URL(newUrl);

            }

            hc = (HttpURLConnection) url.openConnection();
            hc.setConnectTimeout(45000);
            // hc.setRequestProperty("Cookie", ConstUtil.COOKIEMESSAGE);

            hc.setRequestMethod(get);
            if (!isGet) {

                for (String key : param.keySet()) {

                    hc.addRequestProperty(key, param.get(key));
                }
                hc.setDoOutput(true);
                hc.getOutputStream().flush();
                hc.getOutputStream().close();
            }

            hc.setInstanceFollowRedirects(false);

            hc.setDoInput(true);

        } catch (Exception e) {
            e.printStackTrace();
        }

        return hc.getInputStream();

    }

    public String getString(String urlS, Map<String, String> param,
            boolean isGet, String encoding) {
        if (param == null) {
            param = new HashMap<String, String>();
        }
        BufferedReader br = null;

        StringBuffer sb = new StringBuffer();

        try {
            br = new BufferedReader(new InputStreamReader(getInputStream(urlS,
                    param, isGet), encoding));
            String temp = "";
            while ((temp = br.readLine()) != null) {
                sb.append(temp);
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
        return sb.toString();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值