1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

HTTP Post, danach URL abfragen?

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Mau04, 28.05.2012.

  1. Mau04, 28.05.2012 #1
    Mau04

    Mau04 Threadstarter Neuer Benutzer

    Beiträge:
    16
    Erhaltene Danke:
    1
    Registriert seit:
    10.10.2010
    Hallo Leute,

    ich habe eine Frage bzgl. HTTP Posts mit Android.

    Undzwar führe ich einen POST aus:

    Code:
    httpclient = new DefaultHttpClient();
            httpclient.getParams().setParameter("http.protocol.version",
                    HttpVersion.HTTP_1_0);
            
            HttpPost httppost = new HttpPost("POSTURL");
    
            HttpResponse response = null;
            try {
            	
            	// Get data
            	
            	SharedPreferences pref_userinfo = getSharedPreferences("userinfo", 0);
            	
            	String fn = pref_userinfo.getString("vorname", "");
            	
                // Add your data
                List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
                nameValuePairs.add(new BasicNameValuePair("vorname", fn));
                
                //usw.
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
    
                response = httpclient.execute(httppost);
    
            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
            } catch (IOException e) {
                // TODO Auto-generated catch block
            }
    Das funktioniert auch soweit. Nachdem die übermittelten Daten in die DB geschrieben wurden, wird man auf eine andere Seite weitergeleitet.

    Jetzt würde ich gerne wissen, auf welche Seite ich denn geleitet wurde.

    Kann mir da jemand helfen?

    Danke schonmal :)
     
  2. Dschulie, 05.06.2012 #2
    Dschulie

    Dschulie Neuer Benutzer

    Beiträge:
    10
    Erhaltene Danke:
    0
    Registriert seit:
    14.02.2012
    Bist du schon weitergekommen? Ganz genau das gleiche Problem habe ich nämlich auch!
     
  3. DieGoldeneMitte, 05.06.2012 #3
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Ich behaupte mal danz dumm, das das in dem Header der response drinstehen sollte.
     
    Zuletzt bearbeitet: 05.06.2012
  4. Lightstorm, 05.06.2012 #4
    Lightstorm

    Lightstorm Neuer Benutzer

    Beiträge:
    11
    Erhaltene Danke:
    0
    Registriert seit:
    05.06.2012
  5. Mau04, 05.06.2012 #5
    Mau04

    Mau04 Threadstarter Neuer Benutzer

    Beiträge:
    16
    Erhaltene Danke:
    1
    Registriert seit:
    10.10.2010
    Da ich das nicht so einfach hinbekommen hatte und eh die Seite zu der weitergeleitet wird anzeigen will, hab ichs einfach mit einem WebView gemacht:

     
  6. DieGoldeneMitte, 05.06.2012 #6
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Zuletzt bearbeitet: 05.06.2012
  7. Dschulie, 05.06.2012 #7
    Dschulie

    Dschulie Neuer Benutzer

    Beiträge:
    10
    Erhaltene Danke:
    0
    Registriert seit:
    14.02.2012
    Ich habe es jetzt auch anders gelöst - durch die Header - Sachen habe ich mich mit vielen glühenden Fragezeichen durchgequält (aber irgendwann versteh ichs!).

    Jedenfalls, für die Nachwelt, oder Kritiker:

    Ich habe die Sache mit dem PHP -Code geregelt. In der App werden alle Variablen gleich übergeben, bzw bei erfolgreichem Login.

    Die übergebenen Variablen werden als Sessions an die nächste Seite weitergereicht.
    So kann es meinem Android-Code egal sein, wohin er verschleppt wird und mir gleich noch viel mehr.


    Code:
    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
            // Username + password
            nameValuePairs.add(new BasicNameValuePair("user", "..."));
            nameValuePairs.add(new BasicNameValuePair("pass", "..."));
            // other stuff u want to share.
            nameValuePairs.add(new BasicNameValuePair("...", "..."));      
            nameValuePairs.add(new BasicNameValuePair("...", "..."));
            try {
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost("http://SERVER/");
    
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                HttpResponse response = httpclient.execute(httppost);
                HttpEntity entity = response.getEntity();
                is = entity.getContent();
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                BufferedReader reader = new BufferedReader(new InputStreamReader(
                        is, "iso-8859-1"));
                StringBuilder sb = new StringBuilder();
                String line = null;
                while ((line = reader.readLine()) != null) {
                    sb.append(line + "\n");
                }
                is.close();
    PHP-Code:

    PHP:
    if (mysql_num_rows($res) == 1) {
        
    $_SESSION["login"] = true;    
        
    $_SESSION["..."] = mysql_real_escape_string($_REQUEST["..."]);
        
    $_SESSION["..."] = mysql_real_escape_string($_REQUEST["..."]);
        
    $_SESSION["..."] = mysql_real_escape_string($_REQUEST["..."]);
        
    $_SESSION["..."] = mysql_real_escape_string($_REQUEST["..."]);
        
    header("Location: ./....php");
        } 
    }
     

Diese Seite empfehlen