3

我在常见方法中使用 HttpMethodBase,例如 submitRequest(HttpMethodBase method,String input) for PostMethod method = new PostMethod(url) 或 GetMethod method = new GetMethod(url)

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

为 Post、Get、Delete 等获取一些公共对象的最佳方法是什么。我不想为 post、get 或 delete 维护不同的方法。

4

1 回答 1

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);
    }

}
于 2012-02-01T02:24:56.887 回答