私はこれを理解しようとしていました。私はHttpsURLConnectionを作成していて、java.net.cookiemanagerを使ってクッキーを管理しています(android.webkit.cookiemanagerをHttpUrlConnectionに使用する方法はありません)。 /私が理解しているようにHttpsUrlConnection?)。私は後の接続に私の長年のクッキーを保存する必要があります。sharedpreferencesにクッキーを保存します
悲しいことに、http://loopj.com/android-async-http/を使用することはできません。信頼できない証明書(http://abhinavasblog.blogspot.se/2011/07/allow-untrusted-certificate-for-https.htmlを使用)を許可する必要があるため、PersistentCookieStoreです。
cManager = new CookieManager(null, CookiePolicy.ACCEPT_ALL);
private void setSharedPreferences(){
List<HttpCookie> cookies = cManager.getCookieStore().getCookies();
if (cookies.isEmpty()) {
Log.d(tag,"no cookies received");
} else {
for (int i = 0; i < cookies.size(); i++) {
if(cookies.get(i).getName().equals("rememberMe")) {
editor.putString(
"rememberMe", cookies.get(i).toString());
editor.commit();
}
}
}
}
そして、私はを:これは私が試したものです...
を私は一人で自分のPersistentCookieStoreを使用してみましたが、彼らはapacheのクッキーを使用していると私はjava.netのクッキーを使用しています次のアプリの起動時にクッキーを取得:
SharedPreferences sharedPreferences = context.getSharedPreferences("PREF_NAME", Context.MODE_PRIVATE);
editor = sharedPreferences.edit();
String rememberString = sharedPreferences.getString("rememberMe", "none");
if (!rememberString.equals("none")) {
Log.d("rememberME är inte", "none!");
URI uriToCookie = null;
try {
uriToCookie = new URI("https://myservername.com");
} catch (URISyntaxException e) {
e.printStackTrace();
}
List<HttpCookie> cookieList = HttpCookie.parse(rememberString);
cManager.getCookieStore().add(uriToCookie, cookieList.get(0));
}
クッキーがCMANAGERに追加されますが、サーバーによって認識されていません..私は、構文解析の問題のいくつかの並べ替えがあると考えています。誰でも解決策を手に入れましたか?