如何禁用/忽略 httpclient 的默认 cookie 处理。我想手动完成。我想为所有 http 请求设置一个预定义的 cookie 标头。
问问题
11106 次
4 回答
7
最新的 httpclient (4.5.1)有一个名为的方法"disableCookieManagement"
,看起来这只是禁用了内部 cookie 管理,而不是发送或接收 cookie 的能力,并且对我有用-
于 2016-01-11T18:21:19.207 回答
1
httpclient.setCookieStore(cookieStore);
在执行之前设置HttpClient
于 2013-11-09T05:20:53.427 回答
1
在执行请求之前强制设置 HttpContext:
private HttpClientContext httpContext = new HttpClientContext();
httpContext.setCookieStore(new BasicCookieStore());
setCookieStore 将创建一个空的 cookie 存储来替换 http 连接的默认 cookie 存储。
之后我们可以执行http方法:
org.apache.http.client.HttpClient.execute(HttpUriRequest, HttpContext)
我们还可以重用 cookie 存储(保留BasicCookieStore
)来保持连接活动。
于 2015-12-29T03:52:22.757 回答
0
我找不到在 Andoroid 中通过 DefaultHttpClient 禁用/忽略 cookie 处理的方法(我应该对 Android 源代码进行更多探索,但有时间限制)。但是我通过在像这样执行 httpClient.execute() 之前删除所有 cookie 来解决它 -
((AbstractHttpClient) myDefaultHttpClient).getCookieStore().clear();
这将删除 defaultHttpClient 存储的所有 cookie,然后您可以使用 - 手动处理(添加/删除)cookie -
myHttpPost.setHeader("Cookie", myCookie);
希望能帮助到你。
于 2013-11-12T19:26:48.927 回答