Vícenásobné volání může i skryté – klient může být přesměrován na novou adresu, což Commmons Http Client (pokud mu neřeknete jinak) zařídí sám. Jenom je potřeba mu poskytnout objekt HttpState, který si bude cookie pamatovat.
HttpState state = new HttpState(); HttpClient httpclient = new HttpClient(); httpclient.setState(state); // RFC 2101 cookie management spec is used per default // to parse, validate, format & match cookies httpclient.getParams().setCookiePolicy(CookiePolicy.RFC_2109); // A different cookie management spec can be selected // when desired PostMethod httppost = new PostMethod(strURL); int result = httpclient.executeMethod(httppost); Ovšem Post a redirect nejde moc dohromady. Nepokoušíte se posílat data rovnou na nějakou adresu, u které cílový server očekává, že se tam klient dostal už z nějaké jeho stránky a tím pádem už cookie má? Pak by bylo nutné nejprve s tím objektem HttpState zavolat GetMethod na nějakou adresu, kde to cookie může klient získat, a teprve pak volat příslušnou metodu Post. Také můžete tu metodu Get zavolat jenom jednou a objekt HttpState pak sdílet (ale pozor např. na vypršení session na cílovém serveru). A taky můžete do HttpState nastavit cookie ručně, pokud víte, jak má vypadat. Filip Jirsák > v ramci servletu vytvorim HttpClienta, Nasledne vytvorim PostMethod s > definovanou adresou a do nej vlozim parametre prihlasenia ako > NameValuePair[]. Po tomto necham clienta post execuovat a z toho dostanem uz > vysledok. Kedze sa tu nevytvaraju ziadne dve spojenia resp. nevidim, ze by > bol server volany dva krat, nie je mi uplne jasne ako mu mam cookie , ktore > mi dorazili poslat naspat, kedze spojenie sa po ich dorazeni uzavrie.
