HttpMethodBase替代java HttpClient4

时间:2012-02-01 01:32:32

标签: java apache-httpclient-4.x

我在常用的方法中使用HttpMethodBase submitRequest(HttpMethodBase方法,字符串输入) PostMethod方法=新的PostMethod(url) 要么 GetMethod方法= new GetMethod(url)

但我们刚刚更新到HttpClient4,没有明确的方法可以像使用版本3那样使用公共对象。

什么是获取Post,Get,Delete等常用对象的最佳方法。 我不想保留发布,获取或删除的不同方法。

1 个答案:

答案 0 :(得分:3)

您可以创建DefaultHttpClient和不同的方法(GET,POST),然后使用DefaultHttpClient执行该方法。例如,

import java.io.IOException;

import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.impl.client.DefaultHttpClient;



public class MyHttp
{

    public class Constants
    {
        public final static int METHOD_GET = 1;
        public final static int METHOD_POST = 2;            
    }               

    public void executeHttpRequest(String targetUrl, int methodType) throws ClientProtocolException, IOException
    {
        HttpRequestBase method = null;
        DefaultHttpClient httpclient = new DefaultHttpClient();

        switch (methodType)
        {
            case Constants.METHOD_GET : 
                method = new HttpGet(targetUrl);
                break;
            case Constants.METHOD_POST : 
                method = new HttpPost(targetUrl);
                break;
        }

        HttpResponse response = httpclient.execute(method);
    }

}