Mit WebView Passwortgeschützte Seite aufrufen

  • Hallo Leute,


    Im Zuge meiner kleinen Bastlerei bin ich auf ein Problem gestoßen, bei dem ich im Internet keine Lösung finden konnte. Ich möchte mit Webview eine Website aufrufen, die durch einen Benutzernamen und ein Passwort geschützt ist. Meine momentane Variante, die aber nicht funktioniert sieht so aus:

    Java
    WebView plan = (WebView) findViewById(R.id.webView1);		plan.setHttpAuthUsernamePassword("caro-os.de", "", "[email protected]", "*******");		plan.loadUrl("http://caro-os.de/idesk/vplan/PH_heute.php");


    Er gibt mir nur die Fehlerseite auf dem Handy raus, die ihr seht, wenn ihr die URL aufrufen wollt.


    Ich hoffe ihr könnt mir helfen
    LG Niklas

  • Ich habe die Parameter mit TamperData ausgelesen. Aber der Admin ist irgendeine Organisation und dazwischen sitzt noch meine Schule. Das wird also schwierig. Gibt es sowas wie WGET für Java? Denn damit hat das früher auf einem Webserver immer geklappt

  • Na wenn du die Daten hast einfach einen Post Request absetzen ...


  • Die Idee finde ich gut, nur funktioniert es nicht. Oder ich wende es nicht richtig an. Ich habe es jetzt so, dass in der Main folgendes steht:

    Java
    new PostLogin();


    So heist meine Klasse in der komplett dein Code reinkopiert ist ( Habe den Code komplett in die Main geschrieben ). Aber wenn ich dann eben diese Seite mit Webview ansehen will, sagt er mir immernoch ich habe den Cookie nicht gesetzt.


    Hier mal meine Abschnitte:


    private OnClickListener loginlistener = new OnClickListener(){
    public void onClick(View v){


    EditText mail = (EditText) findViewById(R.id.editText1);
    EditText passwort = (EditText) findViewById(R.id.editText2);


    String mail_s = mail.getText().toString();
    String passwort_s = passwort.getText().toString();


    new PostLogin();


    Intent hauptschirm = new Intent(Login.this, hauptschirm.class);
    startActivity(hauptschirm);


    }
    };
    public class PostLogin {

    public static void main(){
    // Create a new HttpClient and Post Header
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("http://caro-os.de/idesk/index.php");


    try {
    // Add your data
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
    nameValuePairs.add(new BasicNameValuePair("login_act", "[email protected]"));
    nameValuePairs.add(new BasicNameValuePair("login_pwd", "meinPasswort"));
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));


    // Execute HTTP Post Request
    HttpResponse response = httpclient.execute(httppost);


    } catch (ClientProtocolException e) {
    // TODO Auto-generated catch block
    } catch (IOException e) {
    // TODO Auto-generated catch block
    }
    }
    }
    sry dass ich es nicht in [ Java ] gemacht habe, aber dann macht der keine richtigen Zeilenumbrüche bei mir.

  • Okay habe mir das alles mal angeschaut, aber warum meckert er immer bei dem folgenden:



    CookieSyncManager.createInstance(this);



    egal welchen Code ich teste, daran meckert er immer. Der Fehler sei immer: The Method createInstance() in the type CookieSyncManager is not applicable for the arguments.


    Tut mir leid, aber ich weis nicht was da falsch ist.

  • Also zum Testen würde ich das erst mal alles in einer Activity machen (um die Fehlerquellen zu minimieren)


    ansonsten - Daten zwischen 2 Activities übergibt man per Intent.


    Beispiel hier.


    http://stackoverflow.com/quest…tion-with-intent-putextra




    -> und der Rest wie im Beispiel oben gepostet
    ->


    if (sessionCookie != null) {
    cookieManager.setCookie("yourdomain.com", sessionCookie);
    CookieSyncManager.getInstance().sync();
    }
    WebSettings webSettings = myWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webSettings.setBuiltInZoomControls(true);
    myWebView.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
    return super.shouldOverrideUrlLoading(view, url);
    }

    });

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!