当我声明一个 cookie 存储时,我修复了我的应用程序中的崩溃和错误,但它没有保存 cookie 或在其他位置出现问题。
起初我称这两条线:
AsyncHttpClient client = new AsyncHttpClient();
PersistentCookieStore myCookieStore;
然后我有一个帖子:
public void postRequestLogin(String url, RequestParams params) {
myCookieStore = new PersistentCookieStore(this);
client.post(url, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
client.setCookieStore(myCookieStore);
System.out.println(response);
if(response.contains("Login successful!")) {
TextView lblStatus = (TextView)findViewById(R.id.lblStatus);
lblStatus.setText("Login successful!");
getRequest("url");
} else {
TextView lblStatus = (TextView)findViewById(R.id.lblStatus);
lblStatus.setText("Login failed!");
TextView source = (TextView)findViewById(R.id.response_request);
source.setText(response);
}
}
});
}
然后它应该保存 Logincookies 并将其用于 GET 请求:
public void getRequest(String url) {
myCookieStore = new PersistentCookieStore(this);
client.get(url, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
client.setCookieStore(myCookieStore);
System.out.println(response);
TextView responseview = (TextView) findViewById(R.id.response_request);
responseview.setText(response);
}
});
}
但它不使用cookies。当我执行 GET 请求时,我已经注销。
编辑:我忘了说我使用了本教程中的一个库:http: //loopj.com/android-async-http/