Http客户端警告:Cookie被拒绝:非法域属性

2022-09-01 18:09:10

我使用的是 HttpClient 最新版本 (4.x)。现在我正在尝试做一个GET请求。我刚刚发布了一个获取请求。

这是我的代码;

public class Poster {

    static boolean routing1 = true, routing2 = true;
    static int counter1 = 0, counter2 = 0;
    DefaultHttpClient oHtp = null;
    HttpGet oHGet = null;
    HttpResponse oHRes = null;


    private void test(String fullAddress) throws Exception {
        oHtp = new DefaultHttpClient();
        oHGet = new HttpGet(fullAddress);

        HttpResponse response = oHtp.execute(oHGet);
        System.out.print(response.getStatusLine());

        HttpEntity entity = response.getEntity();
        if (entity != null) {
            entity = new BufferedHttpEntity(entity);
            //  System.out.println(EntityUtils.toString(entity));
            System.out.print("\t entity is retrieved... ");
        }


        oHtp.getConnectionManager().shutdown();
    }
}

我只是很好地执行它。首先是

new Poster().test("http://123.xl.co.id/profile.php");

第二个是

 new Poster().test("http://goklik.co.id/");

是的,只有第二个....我得到了这个错误消息;

Sep 18, 2011 10:11:30 AM org.apache.http.client.protocol.ResponseProcessCookies processCookie 警告: Cookie 被拒绝: “[version: 0][name: CookiePst][value: 0149=xwGHF7HYDHLHQ84Isp/eSy9vu+Xq6cT12wxg1A==][域: .mcore.com][path: /][到期日: Sun Sep 18 10:38:59 ICT 2011]”。非法域属性“mcore.com”。原产地:“goklik.co.id”

我意识到这里涉及Cookie。但我不明白警告是什么意思。我也不知道如何解决它(Cookie没有被拒绝)。希望有一点光能让我从你们身上清除我的思想......:D


答案 1

也许为时已晚,但我遇到了同样的问题,我发现了一些帮助我解决问题的东西,只需将Cookie策略设置为浏览器兼容性:

httpclient.getParams().setParameter(ClientPNames.COOKIE_POLICY,
        CookiePolicy.BROWSER_COMPATIBILITY);

以下是可能的值:

Cookie 政策为给定类型或版本的 Cookie 提供相应的 Cookie 管理。

默认情况下使用 RFC 2109 规范。可以在适当的时候选择其他支持的规格,也可以在需要时设置默认值

提供以下规格:

  • BROWSER_COMPATIBILITY:与常见的 cookie 管理实践兼容(即使它们不是 100% 符合标准)
  • NETSCAPE: 符合网景 cookie 草案
  • RFC_2109:符合 RFC2109(默认)
  • IGNORE_COOKIES:不要自动处理 Cookie

答案 2

你不能“修复”它。该网站正在尝试设置一个不允许设置的cookie,而您正在使用的apache客户端库正在告诉您有关它的信息。

它试图为域设置 Cookiemcore.comgoklik.co.id


推荐