HttpClient PostMethod方式

来源:互联网 发布:2016淘宝店铺二级域名 编辑:程序博客网 时间:2024/05/02 17:05

一、PostMethod一般请求

    /**     * POST方式     * @return     * @throws Exception     */    public static String PostMethodTest() throws Exception{        System.out.println("开始");            HttpClient client = new HttpClient();            PostMethod method = new PostMethod(URI);            try{                method.addRequestHeader(new Header("Content-Type", "application/x-www-form-urlencoded;charset=utf-8") );        //          method.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");                method.addParameter(new NameValuePair("appid", "XXXX") );                method.addParameter(new NameValuePair("appkey", "XXXX") );    //          method.addParameter("appid", "XXXX");    //          method.addParameter("appkey", "XXXX");                int result = client.executeMethod(method);                if (result == HttpStatus.SC_OK) {                    InputStream in = method.getResponseBodyAsStream();                    ByteArrayOutputStream baos = new ByteArrayOutputStream();                    byte[] buffer = new byte[1024];                    int len = 0;                    while ((len = in.read(buffer)) != -1) {                        baos.write(buffer, 0, len);                    }                    return URLDecoder.decode(baos.toString(), "UTF-8");                } else {                    throw new Exception("HTTP ERROR Status: " + method.getStatusCode() + ":" + method.getStatusText());                }            }finally {                method.releaseConnection();            }    }

二、PostMethod带文件方式

    /**     * POST方式 传带文件的调用     * @return     * @throws Exception     */    public static String PostMethodFileTest() throws Exception{        System.out.println("开始");            HttpClient client = new HttpClient();            PostMethod method = new PostMethod(URI);            try{                FilePart filePart = new FilePart("file",new File("D:\\8\\5972-41-2017-06-07-1440-16406.wav"));//文件参数                StringPart questionId = new StringPart("questionId","10001");//普通参数                StringPart userId = new StringPart("userId","765709");//普通参数                StringPart homeworkId = new StringPart("homeworkId","950");//普通参数                Part[] parts ={filePart,questionId,userId,homeworkId};                MultipartRequestEntity mre=new MultipartRequestEntity(parts ,method.getParams());    //封装了普通字段和文件字段                method.setRequestEntity(mre );                int result = client.executeMethod(method);                if (result == HttpStatus.SC_OK) {                    InputStream in = method.getResponseBodyAsStream();                    ByteArrayOutputStream baos = new ByteArrayOutputStream();                    byte[] buffer = new byte[1024];                    int len = 0;                    while ((len = in.read(buffer)) != -1) {                        baos.write(buffer, 0, len);                    }                    return URLDecoder.decode(baos.toString(), "UTF-8");                } else {                    throw new Exception("HTTP ERROR Status: " + method.getStatusCode() + ":" + method.getStatusText());                }            }finally {                method.releaseConnection();            }    }
原创粉丝点击