
Untitled
By: a guest on
May 23rd, 2012 | syntax:
None | size: 1.95 KB | hits: 11 | expires: Never
package rishi.betacos;
import java.io.*;
import java.net.*;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/**
*
* @author Rishi Shah
*/
public class BetacosConnection {
private URL url;
private OutputStream out;
public BetacosConnection(URL url, OutputStream out) {
this.url = url;
this.out = out;
}
public void post(Map<String, String> map) throws IOException {
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setDoOutput(true);
OutputStreamWriter os = new OutputStreamWriter(connection.getOutputStream());
Map<String, String> data = clean(map);
Iterator<String> keys = data.keySet().iterator();
StringBuilder query = new StringBuilder();
while (keys.hasNext()) {
String key = keys.next();
query.append(key);
query.append("=");
query.append(data.get(key));
query.append("&");
}
query.deleteCharAt(query.length()-1);
os.write(query.toString());
os.close();
BufferedReader in = new BufferedReader(
new InputStreamReader(
connection.getInputStream()));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(out));
String decodedString = null;
while ((decodedString = in.readLine()) != null) {
bw.write(decodedString);
bw.flush();
}
in.close();
}
private Map<String, String> clean(Map<String, String> data) throws UnsupportedEncodingException {
Iterator<String> keys = data.keySet().iterator();
Map<String, String> map = new HashMap<String, String>();
while (keys.hasNext()) {
String key = keys.next();
String value = URLEncoder.encode(data.get(key), "UTF-8");
map.put(key, value);
}
return map;
}
}