1

是否可以在 HTTP 请求中使用 WebView 的 cookie?如果是,我该怎么做?

谢谢

4

1 回答 1

1

CookieManager 就是您要找的东西!

CookieSyncManager.createInstance(context)

创建经理

CookieSyncManager.getInstance().startSync()

在 Activity.onResume() 中,并调用

 CookieSyncManager.getInstance().stopSync()

在 Activity.onPause() 中。

要获得即时同步而不是等待计时器触发,主机可以调用

 CookieSyncManager.getInstance().sync()

请注意,即使 sync() 也是异步发生的,所以不要在您的活动正在关闭时执行此操作。

以下是您可能会如何使用它:

// use cookies to remember a logged in status   
CookieSyncManager.createInstance(this);
CookieSyncManager.getInstance().startSync();
WebView webview = new WebView(this);
webview.getSettings().setJavaScriptEnabled(true);
setContentView(webview);      
webview.loadUrl([MY URL]);

从这个问题引用

编辑:如果你想用 HttpClient 来做,你需要创建一个 HttpContext。

// Create a local instance of cookie store
CookieStore cookieStore = new BasicCookieStore();

// Create local HTTP context
HttpContext localContext = new BasicHttpContext();
// Bind custom cookie store to the local context
localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);

HttpGet httpget = new HttpGet("http://www.google.com/"); 

System.out.println("executing request " + httpget.getURI());

// Pass local context as a parameter
HttpResponse response = httpclient.execute(httpget, localContext);

从这个问题引用

于 2013-01-22T18:42:17.273 回答