Tuesday, May 11, 2010

Sending a POST Request Using a URL

Very useful source code to make any http post call. Some of you will find it trivial..
See also Sending a POST Request Using a Socket.

try {
// Construct data
String data = URLEncoder.encode(
"key1", "UTF-8") + "=" + URLEncoder.encode("value1", "UTF-8");
data += "&" + URLEncoder.encode(
"key2", "UTF-8") + "=" + URLEncoder.encode("value2", "UTF-8");

// Send data

URL url = new URL(
"http://hostname:80/cgi");
URLConnection conn = url.openConnection();

conn.setDoOutput(true);

OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()
);
wr.write(data);

wr.flush();

// Get the response

BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;

while ((line = rd.readLine()) != null)

{

// Process line...

}

wr.close();

rd.close();

} catch (Exception e) { }


Source: http://www.exampledepot.com/egs/java.net/Post.html