android setcookie

标签 android cookies hostname

我正在尝试如下设置 cookie。

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地址访问网站时,该网站仍然能够设置和检索cookie?

最佳答案

它是规范的域名:

Domain=domain Optional. The Domain attribute specifies the domain for which the cookie is valid. An explicitly specified domain must always start with a dot.

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

Android 可能会从 URL 中提取域和路径,但该域必须是完全限定的域名。

此外,如果您通过 ip 访问,则以下语句是相关的:

Domain Selection The origin server's fully-qualified host name must domain-match the Domain attribute of the cookie.

虽然答案是肯定的。

关于android setcookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6567640/

相关文章:

javascript - 使用 POST 方法设置跨源 Cookie

node.js - 将 TCP 客户端的主机名发送到 Node JS 中的服务器

java - localhost 的 getCanonicalHostName 适用于 Win 7 但不适用于 XP?

linux - 了解 Ubuntu Linux IPv6 输出处理上的 JDK 1.6

android - 在 CountdownTimer 上获取剩余时间并将剩余时间用作分数 android

android - 自定义 ListView 适配器抛出 NullPointerException

Java,让 CookieHandler 只在一个实例上工作

http - gmail 如何让用户保持登录状态?

android - 在同时运行多个动画时减少延迟的任何技巧?

android - MissingPluginException(在 channel plugins.flutter.io/google_sign_in 上找不到方法 init 的实现)