2017-01-13 101 views
-1

我一直在嘗試創建一個帶有webview的應用程序,自動登錄的用戶進入website.once用戶只是打開它我已經使用java腳本在onPageFinished方法之後使用下面的javascript代碼自動填充用戶名和密碼列,如下面的代碼所示。在webview中自動登錄網站的最佳實踐(方法)

@Override 
    public void onPageFinished(WebView view, String url) { 
     final String password = "xxx"; 
     final String username = "xxxxx"; 


     if(url.equals("http://www.bvrit.edu.in/")){ 
      webView.loadUrl("javascript:var userID =document.getElementById('txtId1').value='" + username + "';"); 
      webView.loadUrl("javascript:var userpassword =document.getElementById('txtPwd1').value='" + password + "';"); 
      webView.loadUrl("javascript:(function(){" + 
        "l=document.getElementById('imgBtn1');" + 
        "e=document.createEvent('HTMLEvents');" + 
        "e.initEvent('click',true,true);" + 
        "l.dispatchEvent(e);" + 
        "})()" 
      ); 
     } 
     super.onPageFinished(view, url); 
    } 

但是,我通過使用此按鈕單擊工作有時並不起作用一些其他times.So面臨着很多問題是有沒有其他的方式,我可以自動登錄到網站在web視圖中像使用POST方法發送字段並使用自動登錄數據或任何其他方法加載webview。

回答

-1

我認爲解決這個問題的最好方法是自己做POST請求(例如,使用OkHttp)。

+0

我也搜索我是否可以做一個POST方法,但是,我所學到的是,我們可以做一個post方法,但不能在webview中加載結果,那對我不適用,並糾正我,如果我錯了。 –

+0

在這種情況下,您必須檢查網站如何進行身份驗證。例如,它可能是會話變量中的一個令牌。因此,如果是這種情況,您通過POST進行身份驗證,如果有效,則獲取該標記,並顯示webview爲該標記設置相應的標頭。 – iuri

+0

因爲我是新來的webTechnologies以及android.I不知道如何檢查在網站的令牌。如果可能可以請你幫我出去sessin令牌網站是--www.bvrit.edu.in –