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();
        }
    }
  • 相关阅读:
    索引yellow 分片 UNASSIGNED 解决方案1
    Linux zip压缩多文件
    查询数据库实例名,服务名,和oracle_sid
    excel2csv 多sheet拆分到不同csv
    创建按月自动分区表
    自动生成sequence
    oracle 11g 分区表创建(自动按年、月、日分区)
    linux 查找字符串
    Oracle 字符串截取和位置
    mongodb查询某个字段数据
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/3468477.html
Copyright © 2011-2022 走看看