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 に答える