package doser.tools; import java.io.IOException; import org.apache.http.Header; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.AbstractHttpEntity; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; import org.apache.log4j.Logger; /** * Class providing queries for different services. Integrated so far: DbPedia * Spotlight * * @author Stefan Zwicklbauer * */ public class ServiceQueries { public static String httpPostRequest(String uri, AbstractHttpEntity entity, Header[] header) { DefaultHttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(uri); httppost.setHeaders(header); httppost.setEntity(entity); HttpResponse response; StringBuffer buffer = new StringBuffer(); try { response = httpclient.execute(httppost); Header[] headers = response.getAllHeaders(); HttpEntity ent = response.getEntity(); buffer.append(EntityUtils.toString(ent)); httpclient.getConnectionManager().shutdown(); } catch (ClientProtocolException e) { Logger.getRootLogger().error("HTTPClient error", e); } catch (IOException e) { Logger.getRootLogger().error("HTTPClient error", e); } return buffer.toString(); } }