Http get request in Android 2.3.3

前端 未结 4 1368
被撕碎了的回忆
被撕碎了的回忆 2021-01-03 09:16

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

    URL connectURL = new URL(\"url\");
    HttpURLConnection conn = (HttpURLCo         


        
相关标签:
4条回答
  • 2021-01-03 09:46

    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();
    }
    
    0 讨论(0)
  • 2021-01-03 09:48

    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());
        }
    
    0 讨论(0)
  • 2021-01-03 09:56

    I believe setDoOutput(true) implies POST automatically.

    0 讨论(0)
  • 2021-01-03 09:56

    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");
                }     
            }
        });  
    

    } }

    0 讨论(0)
提交回复
热议问题