Simple HTTP GET Request
Commons Http Client is a HTTP agent implementation in java supporting
client-side authentication, HTTP state management and HTTP connection management.
This requires the libraries httpclient-4.1.2.jar, httpcore-4.1.2.jar,
httpmime-4.1.2.jar, httpclient-cache-4.1.2.jar, commons-codec.jar and
commons-logging-1.1.1.jar to be in classpath.
The following example shows how to make Http Get request through Http Client.
package com.bethecoder.tutorials.commons_httpclient;
import java.io.IOException;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
public class SimpleGetRequestTest {
/**
* @param args
*/
public static void main ( String [] args ) {
HttpClient httpclient = new DefaultHttpClient () ;
HttpGet httpget = new HttpGet ( "http://finance.google.com/finance/info?client=ig&q=NASDAQ:GOOG" ) ;
System.out.println ( "Requesting : " + httpget.getURI ()) ;
try {
ResponseHandler<String> responseHandler = new BasicResponseHandler () ;
String responseBody = httpclient.execute ( httpget, responseHandler ) ;
System.out.println ( "responseBody : " + responseBody ) ;
} catch ( ClientProtocolException e ) {
e.printStackTrace () ;
} catch ( IOException e ) {
e.printStackTrace () ;
} finally {
httpclient.getConnectionManager () .shutdown () ;
}
}
}
It gives the following output,
Requesting : http://finance.google.com/finance/info?client=ig&q=NASDAQ:GOOG
responseBody :
// [
{
"id": "694653"
,"t" : "GOOG"
,"e" : "NASDAQ"
,"l" : "601.63"
,"l_cur" : "601.63"
,"s": "0"
,"ltt":"3:42PM EST"
,"lt" : "Mar 9, 3:42PM EST"
,"c" : "-5.51"
,"cp" : "-0.91"
,"ccol" : "chr"
}
]