Tôi muốn duy trì một phiên trong khi kết nối với máy chủ bằng cách sử dụng HttpGet và tôi cần phải hiểu cách xử lý cookie.HttpGet có xử lý cookie tự động không?
Nhà phát triển máy chủ cho biết rằng anh ấy tự xử lý tất cả nội dung của cookie. Tôi sử dụng yêu cầu HttpGet để truy cập vào máy chủ như sau: InputStream isResponse = null;
HttpGet httpget = new HttpGet(strUrl);
HttpResponse response = mClient.execute(httpget);
HttpEntity entity = response.getEntity();
isResponse = entity.getContent();
responseBody = convertStreamToString(isResponse);
return responseBody;
Tôi có nên làm điều gì đó nhiều hơn? Liệu anh ta đặt cookie trên thiết bị của tôi một cách tự động và phương pháp HttpGet biết sử dụng nó để giữ sessionID bằng cách sử dụng cookie?
Làm cách nào để kiểm tra xem cookie có tồn tại trên thiết bị của tôi hay không, để biết phiên có còn "hoạt động" không?
Trong trường hợp tôi sử dụng đoạn mã sau để lấy cái bánh:
CookieStore cookieStore = new BasicCookieStore(); // Create local HTTP context HttpContext localContext = new BasicHttpContext(); // Bind custom cookie store to the local context localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore); HttpGet httpget = new HttpGet(strUrl); HttpResponse response = mClient.execute(httpget,localContext);
nào HttpGet vẫn xử lý các tập tin cookie giống như trước?
- Tôi thấy rằng DefaultHttpClient (mClient trong mã ở trên) có CookieStore riêng. Làm cách nào để lưu cookie và tải chúng vào lần tiếp theo tôi tạo cookie?
Tôi thấy rằng DefaultHttpClient (mClient trong đoạn code trên) có CookieStore riêng của mình. Làm cách nào để lưu cookie và tải chúng vào lần tiếp theo tôi tạo cookie? –
Tại sao bạn cần phải làm điều đó? Lần tới bạn sẽ sử dụng một cookie mới. Nhưng nếu bạn vẫn cần phải lưu trữ nó, bạn có thể thấy mã trong ví dụ tôi đã nói với bạn làm thế nào để làm điều đó. – Dayerman
Tôi cần có thể lưu vào cookie để tôi biết nếu người dùng có phiên làm việc với máy chủ ngay cả khi người dùng thoát khỏi ứng dụng và mở lại nó (tôi không thể làm thế nào để thực hiện nó trên liên kết bạn đã gửi). Một cái gì đó tương tự được thực hiện trong API facebook, chỉ có họ sử dụng trình duyệt Android để làm điều đó. Tôi tìm thấy một giải pháp và xuất bản nó ở đây như một câu trả lời. Cảm ơn rất nhiều vì đã giúp đỡ bạn! –