HTTP Post, danach URL abfragen?

M

Mau04

Neues Mitglied
1
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 :)
 
Bist du schon weitergekommen? Ganz genau das gleiche Problem habe ich nämlich auch!
 
Ich behaupte mal danz dumm, das das in dem Header der response drinstehen sollte.
 
Zuletzt bearbeitet:
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:

mWebView = (WebView) findViewById(R.id.webview);
mWebView.setWebViewClient(new WebViewClient());
mWebView.getSettings().setJavaScriptEnabled(true);

String url = "http://domain.tld/script.php";

String data = "feld1=inhalt1&feld2=inhalt2";

mWebView.postUrl(url,EncodingUtils.getBytes(data, "BASE64"));

String newUrl = mWebView.getUrl();
 
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");
    } 
}
 

Ähnliche Themen

B
Antworten
3
Aufrufe
1.305
swa00
swa00
H
Antworten
2
Aufrufe
929
swa00
swa00
L
Antworten
15
Aufrufe
905
jogimuc
J
Zurück
Oben Unten