如何将 cookie 从 Android 应用程序传递到网页

发布于 2024-12-11 12:45:44 字数 169 浏览 0 评论 0原文

我有一个带有登录屏幕的 Android 应用程序。单击登录按钮后,我将启动一个网络视图,并将cookie传递给它。这样,我就可以在 webview 中看到网页的内容了。

但是,当我单击已加载网页的链接时,请求失败,并且网页未加载。如何以这样的方式传递cookie,以便在登录后我可以无情地遍历任意数量的网页。

I have an Android application which has a login screen. Upon the click of login button I am launching a webview with cookies passed to it. So, I am able to see the contents of the webpage in the webview.

But when I click on the links of the webpage loaded, then the request is faling and from there webpage is not loading. How to pass cookies in such a way that after the login , I can traverse through any number of webpages relentlessly.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

千仐 2024-12-18 12:45:45

试试这个..

    WebView webview = new WebView(this);
    webview.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return super.shouldOverrideUrlLoading(view, url);
        }
    });

    CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(webview.getContext());
    cookieSyncManager.startSync();
    CookieManager cookieManager = CookieManager.getInstance();
    cookieManager.setAcceptCookie(true);
    cookieManager.removeSessionCookie();
    cookieManager.setCookie(URL, COOKIE);
    cookieSyncManager.sync();

    webview.getSettings().setJavaScriptEnabled(true);
    webview.loadUrl(URL);
    setContentView(webview);

Try This..

    WebView webview = new WebView(this);
    webview.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return super.shouldOverrideUrlLoading(view, url);
        }
    });

    CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(webview.getContext());
    cookieSyncManager.startSync();
    CookieManager cookieManager = CookieManager.getInstance();
    cookieManager.setAcceptCookie(true);
    cookieManager.removeSessionCookie();
    cookieManager.setCookie(URL, COOKIE);
    cookieSyncManager.sync();

    webview.getSettings().setJavaScriptEnabled(true);
    webview.loadUrl(URL);
    setContentView(webview);
满身野味 2024-12-18 12:45:45

您不应该离开您的 WebView。拦截链接并在自己的WebView中加载URL

  WebView webview = new WebView(this);      
      webview.setWebViewClient(new WebViewClient() {  
          @Override  
          public boolean shouldOverrideUrlLoading(WebView view, String url)  
          {  
               view.loadUrl(url);  
               return true;  
          }  
        });                 
      setContentView(webview);      
      webview.loadUrl(yourUrl);

You should not leave your WebView. Intercept the link and load the URL in your own WebView

  WebView webview = new WebView(this);      
      webview.setWebViewClient(new WebViewClient() {  
          @Override  
          public boolean shouldOverrideUrlLoading(WebView view, String url)  
          {  
               view.loadUrl(url);  
               return true;  
          }  
        });                 
      setContentView(webview);      
      webview.loadUrl(yourUrl);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文