码迷,mamicode.com
首页 > Web开发 > 详细

HttpClient GET和POST请求

时间:2017-05-28 13:27:17      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:tpc   stream   style   tac   bsp   imp   pack   system   methods   

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&paramer=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();
    }
}

 

HttpClient GET和POST请求

标签:tpc   stream   style   tac   bsp   imp   pack   system   methods   

原文地址:http://www.cnblogs.com/djoker/p/6915514.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!