通过HttpClient接受所有Cookie

因此,这是我的应用当前的设置方式:

1.)登录活动。2.)登录后,可能会触发其他使用PHP脚本的活动,这些活动需要从登录发送的cookie

我在整个应用程序中使用一个HttpClient来确保使用相同的cookie,但是我的问题是3个cookie中有2个被拒绝了。我不在乎cookie的有效性,但我确实需要接受它们。我尝试设置CookiePolicy,但这也没有用。这就是logcat所说的:

11-26 10:33:57.613: WARN/ResponseProcessCookies(271): Cookie rejected: "[version: 0]      [name: cookie_user_id][value: 1][domain: www.trackallthethings.com][path: trackallthethings][expiry: Sun Nov 25 11:33:00 CST 2012]". Illegal path attribute "trackallthethings". Path of origin: "/mobile-api/login.php"

11-26 10:33:57.593: WARN/ResponseProcessCookies(271): Cookie rejected: "[version: 0][name: cookie_session_id][value: 1985208971][domain: www.trackallthethings.com][path: trackallthethings][expiry: Sun Nov 25 11:33:00 CST 2012]". Illegal path attribute "trackallthethings". Path of origin: "/mobile-api/login.php"

我确信我的实际代码是正确的(我的应用仍然可以正确登录,只是不接受上述cookie),但是无论如何这里是这样:

HttpGet httpget = new HttpGet(//MY URL);

HttpResponse response;

response = Main.httpclient.execute(httpget);

HttpEntity entity = response.getEntity();

InputStream in = entity.getContent();

BufferedReader reader = new BufferedReader(new InputStreamReader(in));

StringBuilder sb = new StringBuilder();

从这里,我使用StringBuilder来简单地获取响应的字符串。没有什么花哨。

我了解我的Cookie被拒绝的原因是由于“路径属性非法”(我在/mobile-

api/login.php中运行脚本,而cookie的trackallthethings返回的路径仅为“ /”)

,但无论如何我都想接受Cookie。有没有办法做到这一点?

回答:

您面临的问题似乎是出于隐私/安全目的设计的。通常,不允许任何资源设置它将无法接收的cookie。在这里,您尝试使用trackallthethings资源/mobile-api/login.php无法正常访问的路径设置cookie 。

在这里,您有以下两种选择

  1. 使用两个资源都可以访问的路径(可能是root '/')设置cookie 或
  2. 定义自定义cookie策略并注册您自己的cookie支持。这是相关的文档和 。

希望这可以帮助。

以上是 通过HttpClient接受所有Cookie 的全部内容, 来源链接: utcz.com/qa/400055.html

回到顶部