Jump to content



Android OnPageFinished πρόβλημα


Recommended Posts

Καλησπέρα φίλοι μου.. Προσπαθώ εδώ και λίγο καιρό να κάνω κάτι και δεν τα καταφέρνω.. Έχω μια σελίδα στην οποία θέλω να κάνω login μέσω webView περνώντας μέσα σε αυτή τα username και password με javascript. Οπότε χρησιμοποιώ μια φορά το OnPageFinished για να δω πότε φόρτωσε η σελίδα και να κάνω injection τα username και pass και μετά αφού περαστούν αυτά στην φόρμα του login (δηλαδή να τσεκάρω πάλι με onPageFinished ότι περάστηκαν) να πατήσω το submit και να κάνω redirect στην member area.. Βοηθήστε και εμένα τον νιούφη να βγάλω άκρη επιτέλους.. 

 

here is the code...

String url = "theloginurl..."final WebView mWebView = (WebView) findViewById(R.id.webView);WebSettings webSettings = mWebView.getSettings();webSettings.setJavaScriptEnabled(true);CookieManager cookieManager = CookieManager.getInstance();cookieManager.setAcceptCookie(true);mWebView.loadUrl(url);//mWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);mWebView.setWebViewClient(new WebViewClient(){    @Override    public void onPageFinished (WebView mWebView, String url)    {        username = "username";        password = "password";        mWebView.loadUrl("javascript: var usr=document.getElementById('rcmloginuser').value = '"+username+"'; var psw=document.getElementById('rcmloginpwd').value='"+password+"';document.forms[\"form\"].submit();");        /* here the other onPageFinished. if the loadUrl above has finished loading            If (mWebView.getUrl()=="memberAreaUrl..."){                load new url            }else{                display message wrong credentials            }        */    }});

Σας ευχαριστώ για τον χρόνο σας...

 
Link to comment
Share on other sites

Το authentication θα γίνεται από τον server.. Αν γίνει redirect στην member area σημαίνει ότι έχουμε επιτυχή είσοδο. Αν δηλαδή αλλάξει το url από mypage.gr σε

mypage.gr/?page=membersite σημαίνει ότι είναι οκ.. Αν η σελίδα αφού φορτώσει έχει url mypage.gr τότε δεν μπόρεσε να κάνει login και θα βγάζει μήνυμα ότι θα πρέπει να ελέγξει username και password ο χρήστης. 

 

Σε ευχαριστώ για την βοήθεια!!!! :)

Link to comment
Share on other sites

Αν και δεν έχω γράψει ποτέ android από εδώ

 

https://developer.android.com/reference/android/webkit/WebViewClient.html

 

Βλέπω ότι υπάρχει αυτή

 

public void onReceivedHttpAuthRequest (WebView view, HttpAuthHandler handler, String host, String realm)

 

 

Μήπως πρέπει να χρησιμοποιήσεις αυτό και όχι το OnPageFinished?

Link to comment
Share on other sites

Απ ότι γνωρίζω αυτό το onReceivedHttpAuthRequest αφορά το login που γίνεται με διαφορετικό τρόπο.. Είναι όταν εμφανίζεται παραθυράκι όπως αυτό που βγάζουν τα περισσότερα ρουτερ όταν προσπαθείς να αποκτήσεις πρόσβαση. Η δική μου περίπτωση μοιάζει περισσότερο με form filling οπότε δεν νομίζω να μπορώ να το κάνω με αυτόν τον τρόπο. Ουσιαστικά περιμένω να φορτώσει η σελίδα και μετά με javascript συμπληρώνω τη φόρμα και την αποστέλλω. Το πρόβλημα είναι να μπορέσω να δω αν μετά την αποστολή και αφού φορτώσει η νέα σελίδα, αν έχει καταφέρει να κάνει login, δηλαδή αν έγινε redirect στην memberarea ή αν ξαναφόρτωσε η σελίδα login.

Ευχαριστώ για την προσπάθεια πάντως...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.