【JavaWeb开发】用Apache的HttpClient4.5完成HttpPost请求

来源:互联网 发布:淘宝优惠群怎么起名字 编辑:程序博客网 时间:2024/04/29 16:33

写在前面的话,最近的一次项目开发中,需要使用到四种Http请求来对操作进行区别(这个区分不好),然后需要在Post请求中放置content内容,也是折腾了一小会才解决。
先看代码

    /***     * 更新user信息     *      * @param userNumber     * @param userName     * @param userPassword     * @return 返回SUCCESS代表成功更新,返回FAIL代表更新失败     */    public static String updateUser(String userNumber,String userName,String userPassword){        //在Apache HttpClient4.5中需要使用HttpClientBuilder才生成一个HttpClient对象        HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();        HttpClient httpClient = httpClientBuilder.build();        //新建一个HttpPost对象,并传入一个URL,此处的DATABASE_URL是我该项目中数据库提供的URL        HttpPost httpPost = new HttpPost(DATABASE_URL);        //封装一个httpPost,部分项目代码已删        httpPost.addHeader("Date", new Date().toGMTString());        httpPost.addHeader("Content-Type","text/html");        //**重点来了,在Apache HttpClient 方法中是使用HttpEntity来将content内容放进去**        //新建一个HttpEntity对象        HttpEntity httpEntity = null;        //将content存入,并标记编码格式为UTF-8        httpEntity = new StringEntity(content,"UTF-8");        //将httpEntity放到httpPost中        httpPost.setEntity(httpEntity);        try {            HttpResponse httpResponse = httpClient.execute(httpPost);            //>>>>>>>>>>>>>>>打印返回的结果以便测试            System.out.println("httpPost:"+httpResponse.toString());            if (httpResponse.getStatusLine().getStatusCode()==200) {                return STATE_SUCCESS;            } else {                return STATE_FAIL;            }        } catch (Exception e) {            // TODO: handle exception        }        return STATE_FAIL;    }
0 0