Java HttpClient不发送cookie

Java HttpClient不发送cookie,java,cookies,Java,Cookies,我正在尝试使用RedditAPI-www.Reddit.com/dev 这是我的HttpClientHelper: 当我尝试登录Reddit时,它会起作用: HttpClientHelper client = new HttpClientHelper(Endpoints.User.login); client.addParamForPost("api_type", "json"); client.addParamForPost("user", username);

我正在尝试使用RedditAPI-www.Reddit.com/dev

这是我的HttpClientHelper:

当我尝试登录Reddit时,它会起作用:

    HttpClientHelper client = new HttpClientHelper(Endpoints.User.login);

    client.addParamForPost("api_type", "json");
    client.addParamForPost("user", username);
    client.addParamForPost("passwd", password);
    client.addParamForPost("rem", String.valueOf(true));

    client.executePost();
结果:{json:{data:{cookie:30310021214-10-27T16:02:27300937022ED465F695747A2AA7FD******,需要_https:false,modhash:9CH7BILR85CE7C2A427EF87BDB42132F738C3A1***,错误:[]}

以下是被掩盖的返回的cookies:

    List<Cookie> cookies = client.getHttpClient().getCookieStore().getCookies();
    for (int i = 0; i < cookies.size(); i++) {
        Log.d("", cookies.get(i).toString());
    }

    [version: 0][name: __cfduid][value: d****7d2bfa753ef32b2f2861c117b8c141444******][domain: .reddit.com][path: /][expiry: Mon Dec 23 23:50:00 GMT 2019]
    [version: 0][name: reddit_session][value: 30310021%2C2014-10-27T15%3A18%3A39%2C5**08054f8fa07d82aa0ac027a2f**********][domain: reddit.com][path: /][expiry: Thu Dec 31 23:59:57 GMT 2037]
结果:{}

但是,当我打印cookie时,结果与预期的结果相同,因为我使用的是DefaultHttpClient的同一个实例:

    List<Cookie> cookies = client.getHttpClient().getCookieStore().getCookies();
    for (int i = 0; i < cookies.size(); i++) {
        Log.d("", cookies.get(i).toString());
    }

    [version: 0][name: __cfduid][value: d****7d2bfa753ef32b2f2861c117b8c141444******][domain: .reddit.com][path: /][expiry: Mon Dec 23 23:50:00 GMT 2019]
    [version: 0][name: reddit_session][value: 30310021%2C2014-10-27T15%3A18%3A39%2C5**08054f8fa07d82aa0ac027a2f**********][domain: reddit.com][path: /][expiry: Thu Dec 31 23:59:57 GMT 2037]
我做错了什么

谢谢。

以前的帖子,但是

您没有指出检索用户数据失败的性质

我观察到的一件事是reddit_会话cookie有一个“reddit.com”域,而另一个有一个“reddit.com”域。前者仅在您使用“reddit.com”而不是“www.reddit.com”时发送回服务器,而后者将发送回所有子域。也许这就是失败的原因

我很困惑,如果你在最初的请求中使用了“www.reddit.com”域,那么你居然还得到了这些cookie

    HttpClientHelper client = new HttpClientHelper(Endpoints.User.me);
    client.executeGet();
    List<Cookie> cookies = client.getHttpClient().getCookieStore().getCookies();
    for (int i = 0; i < cookies.size(); i++) {
        Log.d("", cookies.get(i).toString());
    }

    [version: 0][name: __cfduid][value: d****7d2bfa753ef32b2f2861c117b8c141444******][domain: .reddit.com][path: /][expiry: Mon Dec 23 23:50:00 GMT 2019]
    [version: 0][name: reddit_session][value: 30310021%2C2014-10-27T15%3A18%3A39%2C5**08054f8fa07d82aa0ac027a2f**********][domain: reddit.com][path: /][expiry: Thu Dec 31 23:59:57 GMT 2037]