package com.rogue.hclient; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.methods.GetMethod; import org.apache.commons.httpclient.methods.PostMethod; import org.apache.commons.httpclient.methods.RequestEntity; import org.apache.commons.httpclient.methods.StringRequestEntity; /** * 测试HttpClient功能 * @author djoker * */ public class HClientTest { HttpClient client = new HttpClient(); //get功能测试 public void getTest(){ String uri = "http://172.16.100.20/cgi-bin/ht.cgi?method=getMethodTest"; GetMethod method = new GetMethod(uri); try { int code = client.executeMethod(method); System.out.println(code); if(200 == code){ // StringBuffer sb = new StringBuffer(); // sb.append(method.getResponseBodyAsString()); //不推荐使用,会有警告,如果读取的内容过多,会导致超过最大读取值 // System.out.println(sb.toString()); InputStream is = method.getResponseBodyAsStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is, "utf-8")); String line = null; while((line = br.readLine()) != null){ System.out.println(line); } } } catch (HttpException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //POST测试 public void postTest(){ String uri = "http://172.16.100.20/cgi-bin/ht.cgi"; String content = "method=PostMethod¶mer=paramer"; //参数 PostMethod method = new PostMethod(uri); RequestEntity requestEntity = new StringRequestEntity(content); //字符串请求参数 method.setRequestEntity(requestEntity); //设置请求参数 try { int code = client.executeMethod(method); System.out.println(code); if(200 == code){ InputStream is = method.getResponseBodyAsStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is, "utf-8")); String line = null; while((line = br.readLine()) != null){ System.out.println(line); } } } catch (HttpException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args){ HClientTest hct = new HClientTest(); hct.getTest(); System.out.println("--------"); hct.postTest(); } }
时间: 2024-10-08 11:43:09