我正在尝试连接到drupal服务器。我以前能够做到这一点但是drupal开发人员现在要求我添加另一个cookie。服务器不会注册我尝试在下面发送的cookie。谁能明白为什么?
public static void maybeCreateHttpClient() {
if (mHttpClient == null) {
mHttpClient = new DefaultHttpClient();
final HttpParams params = mHttpClient.getParams();
HttpConnectionParams.setConnectionTimeout(params,
REGISTRATION_TIMEOUT);
HttpConnectionParams.setSoTimeout(params, REGISTRATION_TIMEOUT);
ConnManagerParams.setTimeout(params, REGISTRATION_TIMEOUT);
BasicCookieStore cookieStore = new BasicCookieStore();
ClientCookie cookie = new BasicClientCookie("aml", key);
cookieStore.addCookie(cookie);
localContext = new BasicHttpContext();
localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);
}
}
答案 0 :(得分:5)
事实证明,我并不需要使用cookie,cookstore或httpcontent。据我所知,这些主要用于来自服务器的托管cookie。
我设法通过设置标题来解决我的问题
String key = "whatever";
post.addHeader("Cookie", "aml=" + key);
这可用于httppost,httpget或httput。
我花了几天时间才得到这样一个简单的解决方案。我希望它可以帮助其他人
答案 1 :(得分:-1)
哦,如果您正在寻找未添加cookie的原因,那么您无法从http客户端获取或添加cookie存储。您应该从客户端获取cookie存储,添加cookie,然后执行您的请求。