2011-07-04 11 views
1

私は以下のようにクッキーを設定しようとしています。android setcookie

CookieSyncManager.createInstance(context); 
CookieManager cookieManager = CookieManager.getInstance(); 
cookieManager.setCookie("http://wwww.mydomain.com", 
       "mycookie=123"; Domain=.mydomain"); 
CookieSyncManager.getInstance().sync(); 

mydomain.comからページにアクセスすると、Cookieを取得できます。 IPアドレスを使用してCookieを設定しようとすると、そのページはCookieを取得できません。

1)これは、ホスト名を使用しているCookieのみを設定できるためですか? 2)IPアドレスを使用してウェブサイトにアクセスすると、ウェブサイトは引き続きクッキーを設定および取得できますか?

答えて

1

その指定によるドメイン名:

ドメイン=ドメイン オプション。 Domain属性は、 のCookieが有効なドメインを指定します。明示的に指定されたドメインは、必ずドットで を開始する必要があります。

http://www.ietf.org/rfc/rfc2109.txt

アンドロイドはURLからドメインとパスを抽出かもしれませんが、ドメインは完全修飾ドメイン名でなければなりません。あなたは、IP経由でアクセスする場合

はさらに、次の文は関連性がある:

ドメインの選択オリジンサーバの 完全修飾ホスト名が クッキーのドメイン属性をドメインと一致する必要があります。

回答ははいです。

+0

hmmm ..本当に分かりませんか?私はドメイン名を使ってクッキーを設定することができますか? – anewbie

+0

Androidは仕様に従ってクッキーを保存しています。はい。ドメイン名を使用する必要があります。しかし、あなたのドメイン名が同じホストに解決された場合、IP経由でアドレス指定されたページのCookieも読み取ることができます。 – Nappy