Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

HTTP Login Post und Get

Das Thema "HTTP Login Post und Get" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 22.10.2011, 12:33   #1 (permalink)
Neuer Benutzer

Registriert seit: 03.10.2011
Beiträge: 4
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
Standard HTTP Login Post und Get

Hallo zusammen,

ich möchte mich mit meiner App auf einer Seite einloggen die folgenden Loginform aufweist:
Code:
<form action="/example/index.php" method="POST"> 
   <input type="text" class="iuser" name="user">&nbsp;
   <input type="password" class="ipass" name="pass">&nbsp;
   <input type="hidden" name="a" value="login">
   <input type="hidden" name="l" value="1">
</form>
mit dem code erhalte ich auch den conten der Seite nach erfoglreichen login:

Code:
        String user = "username";
        String pwd = "password";
        String a = "login";
        String l = "1";
        String source = "";
        
        String data = "user" + "=" + user+ "&" + "pass" + "=" + pwd + "&" + "a" + "=" + a + "&" + "l" + "=" + l;
        try{
        // Send data
        URL url = new URL(adr); 
        URLConnection conn = url.openConnection();
        conn.setDoOutput(true);
        OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
        wr.write(data);
        wr.flush();
        
        // Get the response
        BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        String line;
        
        while ((line = rd.readLine()) != null) {
            source = source + "\n"+ line;
        }
        wr.close();
        rd.close();
        }catch (Exception e) {
        }
mir stellt sich jetzt die Frage: Wie kann ich als eingeloggter User auf der Seite weiter navigieren?

Wenn ich einfach eine neue Connection aufmache bin ich nicht mehr eingeloggt.

Ich würde gerne auf die erhaltene URL (eingeloggt) wieder eine Get anfrage senden.
FinelyDoyle ist offline   Mit Zitat antworten
Alt 22.10.2011, 16:16   #2 (permalink)
Neuer Benutzer

Registriert seit: 18.10.2010
Beiträge: 28
Abgegebene Danke: 0
Erhielt 3 Danke für 3 Beiträge
Standard AW: HTTP Login Post und Get

Erstelle eine Session in PHP : Quakenet/#php Tutorial - de - Sessions
Gib beim Login die Session id zurück und speicher sie in android. Beim Aufruf der neuen seite (php) gib die session id wieder mit und überprüf ob die sessionid korrekt ist
korndi ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei korndi für diesen Beitrag:
FinelyDoyle (24.10.2011)
Alt 22.10.2011, 18:51   #3 (permalink)
Neuer Benutzer

Registriert seit: 03.10.2011
Beiträge: 4
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
Standard AW: HTTP Login Post und Get

super danke werd ich dann ausprobieren
FinelyDoyle ist offline   Mit Zitat antworten
Alt 24.10.2011, 09:09   #4 (permalink)
Neuer Benutzer

Registriert seit: 03.10.2011
Beiträge: 4
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
Standard AW: HTTP Login Post und Get

Ich hab es jetzt ausprobiert indem ich die PHP Session ID aus dem HTTP Header gelesen habe und diese dann bei der nächsten GET Abfrage mit ?PHPSESSID=xxx mitgeben habe. Doch leider wird die Session nicht fortgesetzt. Ich nehme an, dass weil der Server nicht auf die Session ID als GET wartet wird die einfach ignoriert.

vom Server erwartete GET Abfrage: http://example.com/index.php?l=1&p=index&r=12

von mir gesendete GET Abfrage: http:// example.com/ index.php?PHPSESSID=xxx&l=1&p=index&r=12

Gibt es eine Möglichkeit die erwartete GET Abfrage zu senden und trotzdem die session id mit zu senden?

Mein Code:
Code:
        String user = "username";
        String pwd = "password";
        String a = "login";
        String l = "1";
        String sessionurl = "http://example.com/index.php?PHPSESSID=";
        String get = "&l=1&p=index&r=12";
        String source = "";
 
        String data = "user" + "=" + user+ "&" + "pass" + "=" + pwd + "&" + "a" + "=" + a + "&" + "l" + "=" + l;
        try{
        // Send data
        URL url = new URL(adr); 
        URLConnection conn = url.openConnection();
        conn.setDoOutput(true);
        OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
        wr.write(data);
        wr.flush();
 
        // Get the response
        BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        String line;
 
        while ((line = rd.readLine()) != null) {
            source = source + "\n"+ line;
        }
        wr.close();
        rd.close();
 // Get SessionID
 Map<String, List<String>> headers = conn.getHeaderFields();
     String sessionId = headers.get("Set-Cookie").toString();
     sessionId = sessionId.substring(sessionId.indexOf("=")+1, sessionId.indexOf(";"));
     System.out.println(sessionId);
 // resume session
 url = new URL(sessionurl + sessionID + get);
 conn = url.openConnection();
        rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        while ((line = rd.readLine()) != null) {
            source = source + "\n"+ line;
        }
        wr.close();
        rd.close();
        }catch (Exception e) {
        }
FinelyDoyle ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
HTTP Post Request mit Cookie MichaelS Android App Entwicklung 20 08.12.2011 22:24
[Gelöst] HTTP Post - Credentials setzen Rotesmofa Android App Entwicklung 9 31.03.2011 16:51
Brauche Hilfe bezüglich Http-Post und JSON korndi Android App Entwicklung 3 26.01.2011 08:54
http login wiesel32 Android App Entwicklung 2 20.01.2011 12:57
HTTP Post zimmbi Android App Entwicklung 4 26.12.2009 13:08




Du liest gerade: "HTTP Login Post und Get" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.