Programmgesteuertes Anmelden von WebView

8

In meiner Android-Anwendung verwende ich eine Web-Ansicht, um auf einige Web-Mapping-Daten zuzugreifen, die von einem Server bereitgestellt werden. Der Server benötigt eine HTTP-basierte Authentifizierung, um den Zugriff auf diese Daten zu ermöglichen. Da die Website keine mobile Version hat, sieht die Anzeige der Anmeldeseite (oder anderer Seiten) ziemlich schlecht aus. Leider ist die Seite kaum in meiner Reichweite, also habe ich mir folgenden Ansatz ausgedacht:

  • Verwenden Sie eine native Benutzeroberfläche, um den Benutzernamen und das Passwort zu erfassen
  • dachte ein Http Post senden diese Informationen an den Server
  • Erhalten Sie nach Erhalt der Antwort die Cookies, die der Server sendet
  • Setzen Sie die Cookies auf die Web-Ansicht
  • versuche endlich auf die gewünschten Daten zuzugreifen

Momentan versuche ich nur die Anmeldephase zu bestehen.

Ist das eine praktikable Lösung, oder ist es einfach falsch und ich sollte etwas anderes versuchen?

Zur Vollständigkeit poste ich den folgenden Code

A. Der Authentifizierungsteil

%Vor%

B. Einstellen der Cookies und Laden der gewünschten Seite

%Vor%

Das Laden dieser Seite hat zur Folge, dass das Formular login_page angezeigt wird

    
steve 05.05.2011, 13:04
quelle

1 Antwort

1

1) Versuchen Sie zuerst, HttpGet Anfrage zu stellen, um Cookies zu erhalten, dann führen Sie HttpPost. Ich denke, auf diese Weise sollten Sie Cookies nicht manuell hinzufügen. Verwenden Sie dazu einen HttpClient.

2) Statt

%Vor%

verwenden     EntityUtils.toString (response.getEntity ()).

    
saikek 24.05.2011 06:45
quelle

Tags und Links