Accept All Cookies via HttpClient

后端 未结 2 690
陌清茗
陌清茗 2020-12-10 10:03

So this is currently how my app is set up:

1.) Login Activity. 2.) Once logged in, other activities may be fired up that use PHP scripts that require the cookies sen

2条回答
  •  谎友^
    谎友^ (楼主)
    2020-12-10 10:29

    Since the API of HttpClient seems to change very fast, here is some working example code for HttpClient 4.5.1 to allow all (malformed) cookies:

    class EasyCookieSpec extends DefaultCookieSpec {
        @Override
        public void validate(Cookie arg0, CookieOrigin arg1) throws MalformedCookieException {
            //allow all cookies 
        }
    }
    
    class EasySpecProvider implements CookieSpecProvider {
        @Override
        public CookieSpec create(HttpContext context) {
            return new EasyCookieSpec();
        }
    }
    
    Registry r = RegistryBuilder.create()
                .register("easy", new EasySpecProvider())
                .build();
    
    CookieStore cookieStore = new BasicCookieStore();
    
    RequestConfig requestConfig = RequestConfig.custom()
                .setCookieSpec("easy")
                .build();
    
    CloseableHttpClient httpclient = HttpClients.custom()
                .setDefaultCookieStore(cookieStore)
                .setDefaultCookieSpecRegistry(r)
                .setDefaultRequestConfig(requestConfig)
                .build();
    

提交回复
热议问题