package jalview.ws; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.List; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; /** * Helpful procedures for working with services via HTTPClient * @author jimp * */ public class HttpClientUtils { /** * do a minimal HTTP post with URL-Encoded parameters passed in the Query * string * * @param postUrl * @param vals * @return Reader containing content, if any, or null if no entity returned. * @throws IOException * @throws ClientProtocolException * @throws Exception */ public static BufferedReader doHttpUrlPost(String postUrl, List vals) throws ClientProtocolException, IOException { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(postUrl); UrlEncodedFormEntity ue = new UrlEncodedFormEntity(vals, "UTF-8"); httppost.setEntity(ue); HttpResponse response = httpclient.execute(httppost); HttpEntity resEntity = response.getEntity(); if (resEntity != null) { BufferedReader r = new BufferedReader(new InputStreamReader( resEntity.getContent())); return r; } else { return null; } } }