zoukankan      html  css  js  c++  java
  • 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();
        }
    }
  • 相关阅读:
    多进程要时刻当心的点
    pairs和ipairs用的迭代器不一样
    #pragma pack(push,1) & #pragma pack(pop)
    负数取模不一定是正数
    切记一定要get~
    GAME有计时器,大厅没有计时器的原因
    每天一个linux命令(1):ls命令
    服务端发的某个short字段存到buf里是正值,存完在看就是0的问题
    生成函数&多项式全家桶导学案
    [Z]董的博客数据结构与算法汇总
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/3468477.html
Copyright © 2011-2022 走看看