HttpClient4的cookie rejected问题,以及如何消除该warning输出
2012-02-29 18:48
423 查看
HttpClient4的cookie rejected问题,以及如何消除该warning输出 - Natural - BlogJava
发现在执行httpClient写的demo时会输出一个警告(以前没这个警告出现):
警告: Cookie rejected: "$Version=0; ID=XXXXXX:FG=1;
$Path=/; $Domain=XXXXX". Illegal domain attribute ".XXXXXX".
Domain of origin: "XX.XXX.XXX.XXX"
网上了解了一下,大致是说httpclient的请求默认是需要cookie的,但是默认CookiePolicy.BROWSER_COMPATIBILITY,是RFC2109,cookie ver1,现在RFC2965 定义了cookie的第二个版本,所以要自己设置下
CookiePolicy.postMethod.getParams().setParameter("http.protocol.cookie-policy",CookiePolicy.BROWSER_COMPATIBILITY);
但使用该方法仍然会有该warning输出。难道是本人采用的httpclient版本问题吗?
结合HttpClient4.0.1的文档的第三章,可以通过3.6所提的自定义cookie策略,来消除该warning的输出。
但该方案只是将validate方法重写为空方法——对于cookie验证什么也不做。
// 定制cookie策略
CookieSpecFactory csf = new CookieSpecFactory(){
public CookieSpec newInstance(HttpParams params){
return new BrowserCompatSpec(){
@Override
public void validate(Cookie cookie, CookieOrigin origin)
throws MalformedCookieException{
//Oh, I am easy
}
};
}
};
httpClient.getCookieSpecs().register("easy", csf);
httpClient.getParams().setParameter(ClientPNames.COOKIE_POLICY, "easy");
总结:最后只是通过老子“无为”的方式去掉该warning,但对于该异常产生的真正原因仍然不明确。。。
HttpClient4的cookie rejected问题,以及如何消除该warning输出
环境:HttpClient4.0.1发现在执行httpClient写的demo时会输出一个警告(以前没这个警告出现):
警告: Cookie rejected: "$Version=0; ID=XXXXXX:FG=1;
$Path=/; $Domain=XXXXX". Illegal domain attribute ".XXXXXX".
Domain of origin: "XX.XXX.XXX.XXX"
网上了解了一下,大致是说httpclient的请求默认是需要cookie的,但是默认CookiePolicy.BROWSER_COMPATIBILITY,是RFC2109,cookie ver1,现在RFC2965 定义了cookie的第二个版本,所以要自己设置下
CookiePolicy.postMethod.getParams().setParameter("http.protocol.cookie-policy",CookiePolicy.BROWSER_COMPATIBILITY);
但使用该方法仍然会有该warning输出。难道是本人采用的httpclient版本问题吗?
结合HttpClient4.0.1的文档的第三章,可以通过3.6所提的自定义cookie策略,来消除该warning的输出。
但该方案只是将validate方法重写为空方法——对于cookie验证什么也不做。
// 定制cookie策略
CookieSpecFactory csf = new CookieSpecFactory(){
public CookieSpec newInstance(HttpParams params){
return new BrowserCompatSpec(){
@Override
public void validate(Cookie cookie, CookieOrigin origin)
throws MalformedCookieException{
//Oh, I am easy
}
};
}
};
httpClient.getCookieSpecs().register("easy", csf);
httpClient.getParams().setParameter(ClientPNames.COOKIE_POLICY, "easy");
总结:最后只是通过老子“无为”的方式去掉该warning,但对于该异常产生的真正原因仍然不明确。。。
相关文章推荐
- 新浪模拟登陆 HttpClient 4 cookie rejected 问题
- HttpClient 4 cookie rejected 问题
- 解决Apache HttpClient Cookie rejected的问题
- http client遭遇Connection reset问题,以及解决方法
- Android使用Asynchronous Http Client完成登录保存cookie的问题
- AsyncHttpClient的CookieStore问题
- Android WebView 与HttpClient 共用本地cookie问题
- Android网络编程中关于AsyncHttpClient获取cookie的问题
- Apache HttpClient Cookie rejected解决方法
- android httpclient 与 webView cookie同步问题
- HttpClient4.5.2 使用cookie保持会话——获取cookie之后如何传递它
- HttpClient4.5.2 使用cookie保持会话——获取cookie之后如何传递它(2)
- HttpClient3.1 警告: Cookie rejected:
- Android WebView 与HttpClient 共用本地cookie问题
- Android WebView 与HttpClient 共用本地cookie问题
- HttpClient4 警告: Invalid cookie header 的问题解决
- HttpClient4.5.2请求时出现Cookie rejected警告的解决方法
- java对cookie的操作比较简单,主要介绍下建立cookie和读取cookie,以及如何设定cookie的生命周期和cookie的路径问题。
- HttpClient4.5.2 使用cookie保持会话——如何传递多个cookie(3)
- httpclient提示Cookie rejected: violates RFC 2109: domain must start with a dot