当前位置: 首页 > 面试题库 >

通过HttpClient接受所有Cookie

方永贞
2023-03-14
问题内容

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

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支持。这是相关的文档和 示例

希望这可以帮助。



 类似资料:
  • 我不清楚什么时候建立秩序,以下是我想到的两种方法: 第一种方法 用户输入订单详细信息并单击“下单”。 在数据库中创建带有布尔标志is_active的Order,并将orderId发送到UI。 用户将被重定向到带区支付页面。 用户输入卡的详细信息,我们将获得计费卡的条带令牌 将orderId发送到后端的令牌。 后端使用令牌向带区计费用户发送请求,如果计费成功,则将订单标记为活动,否则向用户报告失败。

  • 我将Jetty的HttpClient设置为使用SSL连接到apache http server,它将请求作为http路由到web服务器: HttpClient<--HTTPS->http server<--HTTP->web服务器。 此安装程序已运行了一段时间。 我现在正在尝试添加代理: HttpClient<---HTTPS using CONNECT Method-->proxy<---HTT

  • 我正在编写一个使用Java和Apache HttpClient的播客下载器。它适用于大多数RSS提要,但这一个失败了,出现了“406不可以接受”的错误。 链接是http://sqrpt.com/feed/podcast/

  • 我有这样的桌子结构 学生 主题 马克斯 要求是,列出所有通过考试的学生( 不知道要添加什么,如果条件 预期产出

  • 现在我有了我的应用程序将嵌入另一个CRM平台的用法。假设这个CRM平台使用IDP1。因此,用户能够访问CRM,并将通过IDP1进行身份验证。然后,用户可以点击一个按钮,并被引导到我的应用程序。当然,我们不希望用户再次使用相同的IdP进行身份验证,但现在首先通过KeyCloak进行身份验证。 我的问题是,有没有一种方法让Keycloak使用用户访问CRM平台时收到的IDP1令牌,让Keycloak充

  • 本文向大家介绍Android通过HttpURLConnection和HttpClient接口实现网络编程,包括了Android通过HttpURLConnection和HttpClient接口实现网络编程的使用技巧和注意事项,需要的朋友参考一下 Android中提供的HttpURLConnection和HttpClient接口可以用来开发HTTP程序。以下是学习中的一些经验。 1、HttpURLCo