天天看點

HttpClient添加cookie政策

問題:

10-30 16:38:05.898: W/HttpMethodBase(14634): Cookie rejected: "$Version="1"; BAIDUID="xxxx"; $Path="/"; $Domain=".baidu.com"". Domain attribute ".baidu.com" violates RFC 2109: host minus domain may not contain any dots

使HttpClient(commons-httpclient:3.1)不儲存和發送Cookie,即每次請求都互相獨立。

解決:

方法1:用戶端(HttpClient)添加cookie政策

httpClient.getParams().setCookiePolicy(CookiePolicy.IGNORE_COOKIES);

方法2:Http方法(HttpMethod)每次建立時添加cookie政策

method.getParams().setCookiePolicy(CookiePolicy.IGNORE_COOKIES);

httpclient 4.x的方法如下:

client.getParams().setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.IGNORE_COOKIES);

參考:http://hc.apache.org/httpcomponents-client-ga/tutorial/html/statemgmt.html