3 août 2014

How to send HTTP POST in JAVA with RASPBERRY PI


Steps:

  1. Open permissions to enable http connection
  2. Create your http java class

Technologies:

  • Java

Code:


import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;

/**
 *
 * @author synaps21
 */

public class Post {

 public void usingPost(String device, String data, String serv) {
    HttpConnection httpConn = null;
    String url = "http://synaps2113.appspot.com/"+serv;
    //String url = "http://localhost:8888/";
    InputStream is = null;
    OutputStream os = null;
    try {
      // Open an HTTP Connection object
      httpConn = (HttpConnection)Connector.open(url);
      // Setup HTTP Request to POST
      httpConn.setRequestMethod(HttpConnection.POST);
      httpConn.setRequestProperty("User-Agent",
        "Profile/MIDP-1.0 Confirguration/CLDC-1.0");
      httpConn.setRequestProperty("Accept_Language","en-US");
      //Content-Type is must to pass parameters in POST Request
      httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
      // This function retrieves the information of this connection
     // getConnectionInformation(httpConn);
      os = httpConn.openOutputStream();
      String params;
      params = "device=" + device + "&" + "data=" + data;
      os.write(params.getBytes());
      /**Caution: os.flush() is controversial. It may create unexpected behavior
            on certain mobile devices. Try it out for your mobile device **/
      //os.flush();
      // Read Response from the Server
      StringBuffer sb = new StringBuffer();
      is = httpConn.openDataInputStream();
      int chr;
      while ((chr = is.read()) != -1)
        sb.append((char) chr);
      // Web Server just returns the birthday in mm/dd/yy format.
      //System.out.println(data + "data is: " + sb.toString());
      } catch (IOException ex) {
            Logger.getLogger(Post.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
        try {
            if(is!= null)
                is.close();
            if(os != null)
                os.close();
            if(httpConn != null)
                httpConn.close();
        } catch (IOException ex) {
            Logger.getLogger(Post.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    }
    /***  After setup, attributes of the HttpConnection object can be retrived using
        various get methods.
    ***/
    void getConnectionInformation(HttpConnection hc) {
    System.out.println("Request Method for this connection is " + hc.getRequestMethod());
    System.out.println("URL in this connection is " + hc.getURL());
    System.out.println("Protocol for this connection is " + hc.getProtocol()); // It better be HTTP:)
    System.out.println("This object is connected to " + hc.getHost() + " host");
    System.out.println("HTTP Port in use is " + hc.getPort());
    System.out.println("Query parameter in this request are  " + hc.getQuery());
    }
}


Keyword:

HTTP POST WITH RASPBERRY PI

Aucun commentaire:

Enregistrer un commentaire