HttpClient的get和post方式提交数据的使用

/**

 * Http工具类

 */

public class HttpUtil {

    // 创建HttpClient对象

    public static HttpClient httpClient = new DefaultHttpClient();

    public static final String BASE_URL = "";



    /**

     * get请求

     *

     * @param url

     *            发送请求的URL

     * @return 服务器响应字符串

     * @throws Exception

     */

    public static String doGet(String url) throws Exception {

        // 创建HttpGet对象。

        HttpGet get = new HttpGet(url);

        // 发送GET请求

        HttpResponse httpResponse = httpClient.execute(get);

        // 如果服务器成功地返回响应

        if (httpResponse.getStatusLine().getStatusCode() == 200) {

            // 获取服务器响应字符串

            HttpEntity entity = httpResponse.getEntity();

            InputStream content = entity.getContent();

            return convertStreamToString(content);

        }

        return null;

    }



    /**

     * post请求

     *

     * @param url

     *            发送请求的URL

     * @param params

     *            请求参数

     * @return 服务器响应字符串

     * @throws Exception

     */

    public static String doPost(String url, Map<String, String> rawParams)

            throws Exception {

        // 创建HttpPost对象。

        HttpPost post = new HttpPost(url);

        // 如果传递参数个数比较多的话可以对传递的参数进行封装

        List<NameValuePair> params = new ArrayList<NameValuePair>();

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

            // 封装请求参数

            params.add(new BasicNameValuePair(key, rawParams.get(key)));

        }

        // 设置请求参数

        post.setEntity(new UrlEncodedFormEntity(params, "utf-8"));

        // 发送POST请求

        HttpResponse httpResponse = httpClient.execute(post);

        // 如果服务器成功地返回响应

        if (httpResponse.getStatusLine().getStatusCode() == 200) {

            // 获取服务器响应字符串

            HttpEntity entity = httpResponse.getEntity();

            InputStream content = entity.getContent();

            return convertStreamToString(content);

        }

        return null;

    }



    /**

     * 获取服务器的响应,转换为字符串

     */

    private static String convertStreamToString(InputStream is) {

        BufferedReader reader = new BufferedReader(new InputStreamReader(is));

        StringBuilder sb = new StringBuilder();

        String line = null;

        try {

            while ((line = reader.readLine()) != null) {

                sb.append(line);

            }

        } catch (IOException e) {

            e.printStackTrace();

        } finally {

            try {

                is.close();

            } catch (IOException e) {

                e.printStackTrace();

            }

        }

        return sb.toString();

    }

}

 

你可能感兴趣的:(httpclient)