3

I need help with sending HTTP GET request. My code is as follows:

 URL connectURL = new URL("url"); HttpURLConnection conn = (HttpURLConnection)connectURL.openConnection(); conn.setDoInput(true); conn.setDoOutput(true); conn.setUseCaches(false); conn.setRequestMethod("GET"); conn.connect(); conn.getOutputStream().flush(); String response = getResponse(conn); 

But it fails at getResponse(conn); Why?

1
  • Where does getResponse come from (in what class is this code placed) and what is the error? Commented May 4, 2012 at 20:39

4 Answers 4

15

GET request could be used like this:

try { HttpClient client = new DefaultHttpClient(); String getURL = "http://www.google.com"; HttpGet get = new HttpGet(getURL); HttpResponse responseGet = client.execute(get); HttpEntity resEntityGet = responseGet.getEntity(); if (resEntityGet != null) { // do something with the response String response = EntityUtils.toString(resEntityGet); Log.i("GET RESPONSE", response); } } catch (Exception e) { e.printStackTrace(); } 
Sign up to request clarification or add additional context in comments.

2 Comments

I want to send parameters.How to do?
You can add paramaters like this: "google.com?param1=value1&param2=value2" There is also POST method of sending data, in that case you don't need to add paramaters to url generally which is more preferablly. diffen.com/difference/Get_vs_Post
0

I believe setDoOutput(true) implies POST automatically.

Comments

0

I am using this piece of code for GET response which is working fine on my end:

HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet(requestUrl); HttpResponse response=null; try { response = client.execute(request); } catch (ClientProtocolException e) { Log.d(TAG,"1. "+e.toString()); } catch (IOException e) { Log.d(TAG,"2. "+e.toString()); } int status_code=response.getStatusLine().getStatusCode(); Log.d(TAG,"Response Code returned ="+status_code); BufferedReader in=null; try { in = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); } catch (IllegalStateException e) { Log.d(TAG,"3. "+e.toString()); } catch (IOException e) { Log.d(TAG,"4. "+e.toString()); } StringBuffer sb = new StringBuffer(""); String line = ""; String newline = System.getProperty("line.separator"); try { while ((line = in.readLine()) !=null){ sb.append(line + newline); } String data = sb.toString(); Log.d(TAG,data); } catch (IOException e) { Log.d(TAG,"5. "+e.toString()); } try { in.close(); } catch (IOException e) { Log.d(TAG,"6. "+e.toString()); } String data = sb.toString(); try { if(status_code==200 || status_code==401){ JSONObject responseJSONObject = new JSONObject(data); responseJSONObject.put("tpg_status_code", status_code); } } catch (JSONException e) { Log.d(TAG,"6. "+e.toString()); } 

Comments

0

i use this code and it works perfectly:

public class HttpGetAndroidExample extends Activity { TextView content; EditText fname,email,login,pass; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_http_get_android_example); content = (TextView)findViewById(R.id.content); fname = (EditText)findViewById(R.id.name); email = (EditText)findViewById(R.id.email); login = (EditText)findViewById(R.id.loginname); pass = (EditText)findViewById(R.id.password); Button saveme=(Button)findViewById(R.id.save); saveme.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { //ALERT MESSAGE Toast.makeText(getBaseContext(),"Please wait, connecting to server.",Toast.LENGTH_LONG).show(); try{ // URLEncode user defined data String loginValue = URLEncoder.encode(login.getText().toString(), "UTF-8"); String fnameValue = URLEncoder.encode(fname.getText().toString(), "UTF-8"); String emailValue = URLEncoder.encode(email.getText().toString(), "UTF-8"); String passValue = URLEncoder.encode(pass.getText().toString(), "UTF-8"); // Create http cliient object to send request to server HttpClient Client = new DefaultHttpClient(); // Create URL string String URL = "http://androidexample.com/media/webservice/httpget.php?user="+loginValue+"&name="+fnameValue+"&email="+emailValue+"&pass="+passValue; //Log.i("httpget", URL); try { String SetServerString = ""; // Create Request to server and get response HttpGet httpget = new HttpGet(URL); ResponseHandler<String> responseHandler = new BasicResponseHandler(); SetServerString = Client.execute(httpget, responseHandler); // Show response on activity content.setText(SetServerString); } catch(Exception ex) { content.setText("Fail!"); } } catch(UnsupportedEncodingException ex) { content.setText("Fail"); } } }); 

} }

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.