7

I am new to android.So i can any one sho me how to make a http get request such as

GET /photos?size=original&file=vacation.jpg HTTP/1.1
Host: photos.example.net:80
Authorization: OAuth realm="http://photos.example.net/photos",
    oauth_consumer_key="dpf43f3p2l4k3l03",
    oauth_token="nnch734d00sl2jdk",
    oauth_nonce="kllo9940pd9333jh",
    oauth_timestamp="1191242096",
    oauth_signature_method="HMAC-SHA1",
    oauth_version="1.0",
    oauth_signature="tR3%2BTy81lMeYAr%2FFid0kMTYa%2FWM%3D"

in android(java)?

Amel Jose
  • 873
  • 2
  • 9
  • 22
  • 4
    I believe that this will give you answer: http://stackoverflow.com/questions/3505930/make-in-http-request-with-android – DRAX Jun 26 '12 at 18:28
  • But where shall i put all the parameters like oauth_consumer_key,etc... – Amel Jose Jun 26 '12 at 18:38
  • this should get you started with oath -> http://stackoverflow.com/questions/2150801/implementing-oauth-provider-in-java – D-32 Jun 26 '12 at 19:00
  • From link I gave, try to play with "response" variable (I didn't tested it, but I believe that there should be option for it). – DRAX Jun 26 '12 at 21:35

1 Answers1

15

You're gonna want to get familiar with InputStreams and OutputStreams in Android, if you've done this in regular java before then its essentially the same thing. You need to open a connection with the request property as "GET", you then write your parameters to the output stream and read the response through an input stream. You can see this in my code below:

        try {
        URL url = null;
        String response = null;
        String parameters = "param1=value1&param2=value2";
        url = new URL("http://www.somedomain.com/sendGetData.php");
        //create the connection
        connection = (HttpURLConnection) url.openConnection();
        connection.setDoOutput(true);
        connection.setRequestProperty("Content-Type",
                "application/x-www-form-urlencoded");
        //set the request method to GET
        connection.setRequestMethod("GET");
        //get the output stream from the connection you created
        request = new OutputStreamWriter(connection.getOutputStream());
        //write your data to the ouputstream
        request.write(parameters);
        request.flush();
        request.close();
        String line = "";
        //create your inputsream
        InputStreamReader isr = new InputStreamReader(
                connection.getInputStream());
        //read in the data from input stream, this can be done a variety of ways
        BufferedReader reader = new BufferedReader(isr);
        StringBuilder sb = new StringBuilder();
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
        //get the string version of the response data
        response = sb.toString();
        //do what you want with the data now

        //always remember to close your input and output streams 
        isr.close();
        reader.close();
    } catch (IOException e) {
        Log.e("HTTP GET:", e.toString());
    }
Jake
  • 513
  • 5
  • 16