天天看点

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