本文主要是介绍HttpClient PostMethod方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、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();}}
这篇关于HttpClient PostMethod方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!