package sfs.lib; import java.net.*; import java.io.*; import java.util.Vector; import java.util.logging.Logger; import java.util.logging.Level; public class HttpOps { private static transient final Logger logger = Logger.getLogger(HttpOps.class.getName()); public HttpOps(){ } /* * The first element of the array is the response code, the second element is the body of the response. */ public static Vector<Object> get(URL url){ Vector<Object> respvec = new Vector<Object>(2); try{ HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setConnectTimeout(5000); conn.connect(); //GET reply respvec.add(new Integer(conn.getResponseCode())); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); StringBuffer lineBuffer = new StringBuffer(); String line = null; while((line = reader.readLine()) != null) lineBuffer.append(line); line = lineBuffer.toString(); reader.close(); respvec.add(line); } catch(Exception e){ logger.log(Level.WARNING, "", e); return null; } return respvec; } public static Vector<Object> put(URL url, String data) { Vector<Object> respvec = new Vector<Object>(2); try{ HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setDoOutput(true); conn.setRequestMethod("PUT"); conn.setConnectTimeout(5000); OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream()); out.write(data); out.close(); //GET reply respvec.add(new Integer(conn.getResponseCode())); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); StringBuffer lineBuffer = new StringBuffer(); String line = null; while((line = reader.readLine()) != null) lineBuffer.append(line); line = lineBuffer.toString(); reader.close(); respvec.add(line); } catch(Exception e){ logger.log(Level.WARNING, "", e); return null; } return respvec; } public static Vector<Object> post(URL url, String data){ Vector<Object> respvec = new Vector<Object>(2); try{ HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setDoOutput(true); conn.setRequestMethod("POST"); conn.setConnectTimeout(5000); OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream()); out.write(data); out.close(); //GET reply respvec.add(new Integer(conn.getResponseCode())); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); StringBuffer lineBuffer = new StringBuffer(); String line = null; while((line = reader.readLine()) != null) lineBuffer.append(line); line = lineBuffer.toString(); reader.close(); respvec.add(line); } catch(Exception e){ logger.log(Level.WARNING, "", e); return null; } return respvec; } public static Vector<Object> delete(URL url){ Vector<Object> respvec = new Vector<Object>(2); try{ HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setConnectTimeout(5000); conn.setRequestMethod("DELETE"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.connect(); //GET reply respvec.add(new Integer(conn.getResponseCode())); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); StringBuffer lineBuffer = new StringBuffer(); String line = null; while((line = reader.readLine()) != null) lineBuffer.append(line); line = lineBuffer.toString(); reader.close(); respvec.add(line); } catch(Exception e){ logger.log(Level.WARNING, "", e); return null; } return respvec; } }