zoukankan      html  css  js  c++  java
  • HttpClient4的cookie rejected问题,以及如何消除该warning输出

    HttpClient4的cookie rejected问题,以及如何消除该warning输出 - Natural - BlogJava

    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,但对于该异常产生的真正原因仍然不明确。。。

  • 相关阅读:
    webpack初识
    Vue+ElementUi项目实现表格-单行拖拽
    promise/async与await 的执行顺序梳理
    MDN社区
    angularjs中的异步操作
    javascript中的字符串和数组的互转
    angularjs的练习题
    angularjs基础知识
    开发的两种方式
    ASP.NET中的HttpClient发送请求
  • 原文地址:https://www.cnblogs.com/lexus/p/2373905.html
Copyright © 2011-2022 走看看