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

Bitte Hilfe: Anmeldung Kennwort geschuetzte Webseite..

Das Thema "Bitte Hilfe: Anmeldung Kennwort geschuetzte Webseite.." befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 18.09.2011, 20:54   #1 (permalink)
Neuer Benutzer

Registriert seit: 18.09.2011
Beiträge: 10
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard Bitte Hilfe: Anmeldung Kennwort geschuetzte Webseite..

Hallo Leute,

Ich moechte mich gerne an der Webseite von meinen Handy provider Inloggen MijnKPN - beheer uw KPN diensten einloggen, um danach auslesen zu koennen was mein Restgutenhaben meines Bundles ist.
Dies soll in meiner App angegeben werden.

Problem ist dass diese Seite kein php benutzt aber eine xml code, wenn Ich das gut gesehen habe.
Auch nutzt Sie "https" https://access.kpn.com/CAUT/AuthenticationServlet

Jetzt habe Ich schon folgende Codes gefunden wovan Ich nicht weiss ob diese zu gebrauchen sind fuer mein Vorhaben.

Set up an HTTP/HTTPS client:

Code:
public DefaultHttpClient getClient() {
        DefaultHttpClient ret = null;
 
        //sets up parameters
        HttpParams params = new BasicHttpParams();
        HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
        HttpProtocolParams.setContentCharset(params, "utf-8");
        params.setBooleanParameter("http.protocol.expect-continue", false);
 
        //registers schemes for both http and https
        SchemeRegistry registry = new SchemeRegistry();
        registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
        final SSLSocketFactory sslSocketFactory = SSLSocketFactory.getSocketFactory();
        sslSocketFactory.setHostnameVerifier(SSLSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
        registry.register(new Scheme("https", sslSocketFactory, 443));
 
        ThreadSafeClientConnManager manager = new ThreadSafeClientConnManager(params, registry);
        ret = new DefaultHttpClient(manager, params);
        return ret;
    }
POST method and retrieve the body of the HttpResponse using:

Code:
public static String getResponseBody(HttpResponse response) {
 
String response_text = null;
 
HttpEntity entity = null;
 
try {
 
entity = response.getEntity();
 
response_text = _getResponseBody(entity);
 
} catch (ParseException e) {
 
e.printStackTrace();
 
} catch (IOException e) {
 
if (entity != null) {
 
try {
 
entity.consumeContent();
 
} catch (IOException e1) {
 
}
 
}
 
}
 
return response_text;
 
}
Dass ganze wird dan mittels Parser ausgelesen:

Code:
public class OptionScraper {
 
    // example XPATH queries in the form of strings - will be used later
    private static final String NAME_XPATH = "//div[@class='yfi_quote']/div[@class='hd']/h2";
 
    private static final String TIME_XPATH = "//table[@id='time_table']/tbody/tr/td[@class='yfnc_tabledata1']";
 
    private static final String PRICE_XPATH = "//table[@id='price_table']//tr//span";
 
    // TagNode object, its use will come in later
    private static TagNode node;
 
    // a method that helps me retrieve the stock option's data based off the name (i.e. GOUAA is one of Google's stock options)
    public static Option getOptionFromName(String name) throws XPatherException, ParserConfigurationException,SAXException, IOException, XPatherException {
 
        // the URL whose HTML I want to retrieve and parse
        String option_url = "http://finance.yahoo.com/q?s=" + name.toUpperCase();
 
        // this is where the HtmlCleaner comes in, I initialize it here
        HtmlCleaner cleaner = new HtmlCleaner();
        CleanerProperties props = cleaner.getProperties();
        props.setAllowHtmlInsideAttributes(true);
        props.setAllowMultiWordAttributes(true);
        props.setRecognizeUnicodeChars(true);
        props.setOmitComments(true);
 
        // open a connection to the desired URL
        URL url = new URL(option_url);
        URLConnection conn = url.openConnection();
 
        //use the cleaner to "clean" the HTML and return it as a TagNode object
        node = cleaner.clean(new InputStreamReader(conn.getInputStream()));
 
        // once the HTML is cleaned, then you can run your XPATH expressions on the node, which will then return an array of TagNode objects (these are returned as Objects but get casted below)
        Object[] info_nodes = node.evaluateXPath(NAME_XPATH);
        Object[] time_nodes = node.evaluateXPath(TIME_XPATH);
        Object[] price_nodes = node.evaluateXPath(PRICE_XPATH);
 
        // here I just do a simple check to make sure that my XPATH was correct and that an actual node(s) was returned
        if (info_nodes.length > 0) {
            // casted to a TagNode
            TagNode info_node = (TagNode) info_nodes[0];
            // how to retrieve the contents as a string
            String info = info_node.getChildren().iterator().next().toString().trim();
 
            // some method that processes the string of information (in my case, this was the stock quote, etc)
            processInfoNode(o, info);
        }
 
        if (time_nodes.length > 0) {
            TagNode time_node = (TagNode) time_nodes[0];
            String date = time_node.getChildren().iterator().next().toString().trim();
 
            // date returned in 15-Jan-10 format, so this is some method I wrote to just parse that string into the format that I use
            processDateNode(o, date);
        }
 
        if (price_nodes.length > 0) {
            TagNode price_node = (TagNode) price_nodes[0];
            double price = Double.parseDouble(price_node.getChildren().iterator().next().toString().trim());
            o.setPremium(price);
        }
 
        return o;
    }
}
Koennte mir bitte Jemand hier helfen und einen Weg zeigen wie Ich dies in meiner App verarbeiten kann?
Wenn Ich es schon hinkriegen koennte mich ueber meiner App einzuloggen, waere schon Klasse.
PS: Ich benutze Eclipse Indigo..

Vielen Dank im voraus.
Gruss,
Lucius
Lucius1972 ist offline   Mit Zitat antworten
Alt 19.09.2011, 09:59   #2 (permalink)
Neuer Benutzer

Registriert seit: 18.09.2011
Beiträge: 10
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Bitte Hilfe: Anmeldung Kennwort geschuetzte Webseite..

Guten Morgen,

85 views und noch kein Tip
Koennte bitte jemand mal wenigstens einen Ansatz geben, wie Ich dies machen koennte?
Wie gesagt wenn das Einloggen schon mal klappt, das waere schon ein ganzer Schritt.
Mir wurde dieses Forum empfohlen, da mann hieranscheinend gut geholfen wird.

Danke euch.

Gruss,
Lucius
Lucius1972 ist offline   Mit Zitat antworten
Alt 20.09.2011, 13:48   #3 (permalink)
Erfahrener Benutzer

Modell: G1 DevPhone / SGS2 / SGT10.1v

Registriert seit: 20.01.2009
Beiträge: 238
Abgegebene Danke: 7
Erhielt 50 Danke für 47 Beiträge
Standard AW: Bitte Hilfe: Anmeldung Kennwort geschuetzte Webseite..

Let me google that for you
__________________
Meine App: Die Cocktail App für Android™ - jetzt im Market (PRO)
sixi ist offline   Mit Zitat antworten
Alt 20.09.2011, 19:08   #4 (permalink)
Neuer Benutzer

Registriert seit: 18.09.2011
Beiträge: 10
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Bitte Hilfe: Anmeldung Kennwort geschuetzte Webseite..

Hi Sixi,

Erstmal danke fuer den Google Tip, einsiges Problem die Webseite auf die Ich mich einloggen moechte benuetzt die method=post und nicht get.
Kann man die HTTP authentication trotsdem gebrauchen?

Danke im voraus,
Lucius
Lucius1972 ist offline   Mit Zitat antworten
Alt 21.09.2011, 09:03   #5 (permalink)
Erfahrener Benutzer

Modell: G1 DevPhone / SGS2 / SGT10.1v

Registriert seit: 20.01.2009
Beiträge: 238
Abgegebene Danke: 7
Erhielt 50 Danke für 47 Beiträge
Standard AW: Bitte Hilfe: Anmeldung Kennwort geschuetzte Webseite..

Also googlest du nach "android http post example" und findest z.B. dies hier - vielleicht sollte mal jemand 'nen google-tutorial schreiben
__________________
Meine App: Die Cocktail App für Android™ - jetzt im Market (PRO)
sixi ist offline   Mit Zitat antworten
Alt 24.09.2011, 12:24   #6 (permalink)
Neuer Benutzer

Registriert seit: 18.09.2011
Beiträge: 10
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Bitte Hilfe: Anmeldung Kennwort geschuetzte Webseite..

Hallo Leute/Sixi,

Bin jetzt schon ertwas weiter, Ich habe ueber dem Firebug rausgefunden das 3 Parameter "usr_name" und "usr_password" ubergeben werden beim Post.
Der Parameter "swfrmsig", scheint aber verschluesselt zu sein
Code:
85647ghgg56khgi874637ftdyt
Die uebrgabe geht so:
Code:
usr_name=meinuser&usr_password=meinpass&swfrmsig=85647ghgg56khgi874637ftdyt
Beim korrekten einloggen gibt der Parameter "swfrmsig" den selben Wert, beim falschen User oder Paswort aendert der sich.
Kann mir bitte Jemand weiterhelfen?

Schonmal veieln Dank fuer eure Hilfe.

Mein Code:
Code:
try {
 
// Execute HTTP Get Request
String responseString = null;
HttpGet httpget = new HttpGet("https://access.kpn.com/CAUT/AuthenticationServlet");
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
StatusLine statusLine = response.getStatusLine();
if(statusLine.getStatusCode() == HttpStatus.SC_OK){
System.out.println("HTTP Get: " + response.getStatusLine());
ByteArrayOutputStream out = new ByteArrayOutputStream();
response.getEntity().writeTo(out);
out.close(); responseString = out.toString();
} else{ //Closes the connection. response.getEntity().getContent().close(); thrownew IOException(statusLine.getReasonPhrase()); }
// Execute HTTP Post Request
HttpPost httppost = new HttpPost("https://access.kpn.com/CAUT/AuthenticationServlet");
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("usr_name",username));
nameValuePairs.add(new BasicNameValuePair("usr_password",password));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8)); response = httpclient.execute(httppost);
entity = response.getEntity(); StatusLine statusLine1 = response.getStatusLine();
if(statusLine1.getStatusCode() == HttpStatus.SC_OK){
System.out.println("Login form get: " + response.getStatusLine());
if (entity != null) {
entity.consumeContent();
}
}
else{ //Closes the connection. response.getEntity().getContent().close(); thrownew IOException(statusLine.getReasonPhrase()); }
String str = inputStreamToString(response.getEntity().getContent()).toString();
System.out.println(str);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
httpclient.getConnectionManager().shutdown(); // Disconnect }
Lucius1972 ist offline   Mit Zitat antworten
Alt 24.09.2011, 14:57   #7 (permalink)
Android Experte
 
Benutzerbild von DieGoldeneMitte

Registriert seit: 05.02.2010
Beiträge: 609
Abgegebene Danke: 75
Erhielt 136 Danke für 119 Beiträge
Standard AW: Bitte Hilfe: Anmeldung Kennwort geschuetzte Webseite..

Zitat:
Zitat von Lucius1972 Beitrag anzeigen
Der Parameter "swfrmsig", scheint aber verschluesselt zu sein
Code:
85647ghgg56khgi874637ftdyt
Das ist eine für die Webseite spezifische Verschlüsselung (will sagen, die hat sich der dortige Entwickler ausgedacht)

Da musst du wohl den Betreiber der Seite fragen, was er denn da haben will.
__________________
Kein Support via PN/eMail. Bitte das Forum benutzen - dort haben alle etwas davon.
Bei Entwicklerfragen zu abstürzenden Apps bitte immer die Ausgabe von LogCat posten.
Tipp: Zum "Danke" sagen gibt es einen Button.
DieGoldeneMitte ist offline   Mit Zitat antworten
Alt 24.09.2011, 16:53   #8 (permalink)
Neuer Benutzer

Registriert seit: 18.09.2011
Beiträge: 10
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Bitte Hilfe: Anmeldung Kennwort geschuetzte Webseite..

Hi,

Der Parameter "swfrmsig" ist aber Einzigartig schon bevor Ich mich an der Seite einlogge.
Der Parameter steht in den Sourcecode der Homepage.
Ich muss nen Weg finden den abzugleichen mit dem HttpPost, die Post muss naemlich 3 Parameter enthalten, usr_name, usr_password und die swfrmsig Variable.

Jemand eine Idee?

Danke im voraus.
Gruss,
Lucius
Lucius1972 ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
HTC Sense - Bitte überprüfen sie E-Mail-Adresse und Kennwort... sgehdn HTC Incredible S Forum 5 07.07.2011 20:18
Bitte , bitte um Hilfe - nach update funkt. Handy nicht mehr marco 124 Samsung Galaxy (I7500) Forum 7 19.05.2010 16:53
Danke-Button in Android-Hilfe.de-App und mobiler Webseite schupfer Anregungen 3 27.03.2010 15:12
Google Benutzername / Kennwort - *Hilfe* wetzi HTC Magic Forum 23 14.06.2009 21:54
Google G1 Anmeldung??!!! BITTE UM HiLFE! M.A.X T-Mobile G1 Forum 9 26.05.2009 22:58




Du liest gerade: "Bitte Hilfe: Anmeldung Kennwort geschuetzte Webseite.." 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.