『壹』 如何打開安卓手機的cookie功能
cookie功能就是避免你上網時重復輸入用戶名,密碼等內容。只有在瀏覽器里設置,以uc瀏覽器為例,在設置--安全設置--保存密碼--選擇自動保存密碼,然後再把經常瀏覽的網頁保存書簽就行了,當然有的網頁還會提示你「下次自動登錄''這個也要勾上。
『貳』 android 怎麼判斷cookie有沒有到期
Cookie實際上是一小段文本信息。在Web程序中,客戶端瀏覽器請求伺服器,如果伺服器需要記錄該用戶狀態,就使用response向客戶端瀏覽器頒發一個Cookie。客戶端瀏覽器會把Cookie保存起來。當瀏覽器再請求該網站時,瀏覽器把請求的網址連同該Cookie一同提交給伺服器。伺服器檢查該Cookie,以此來辨認用戶狀態。伺服器還可以根據需要修改Cookie的內容。
Cookie的失效時間由maxAge屬性決定,單位為秒(Second)。Cookie中通過getMaxAge()方法與setMaxAge(int maxAge)方法來讀寫maxAge屬性。從客戶端讀取Cookie時,包括maxAge在內的其他屬性都是不可讀的,也不會提交。瀏覽器提交Cookie時只會提交name與value屬性。maxAge屬性只被瀏覽器用來判斷Cookie是否過期。
對於android客戶端,登錄成功後伺服器會向客戶端頒發一個Cookie,客戶端將Cookie持久化到本地。當客戶端再次請求該伺服器時,客戶端會把請求的網址連同該Cookie一同提交給伺服器。伺服器檢查該Cookie,以此來辨認用戶狀態。對於Cookie的有效期,是在客戶端本地判斷的,Cookie有效則可以向伺服器進行請求;Cookie失效則需重新登錄獲取新的Cookie之後再與伺服器進行交互。
『叄』 Android開發中怎樣使用cookieManager來管理cookie
1、首先 在android應用程序開始的activity中的oncreaty()方法中注冊cookiemanager。如下:
<span style="font-size:18px;">//設置網路請求cookie
CookieSyncManager.createInstance(this);</span>
2、然後在到網路請求的那個類中設置如下 設置和獲取cookie的方法
<span style="font-size:18px;"> protected String getCookie() {
CookieManager cookieManager = CookieManager.getInstance();
String cookie = cookieManager.getCookie("cookie");
if (cookie != null) {
return cookie;
} else {
return "";
}
}
protected void setCookie(String cookie) {
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setCookie("cookie", cookie);
}</span>
3、最後一步就在urlConnection.openConnectin()的後面設置如下方法:
uc = (HttpURLConnection) new URL(url + "?" + paramsStr.toString()).openConnection();
uc.setRequestProperty("Cookie", getCookie());
<pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'宋體';font-size:12.0pt;"><span style="background-color:#344134;">setCookies</span>(uc.getHeaderFields())<span style="color:#cc7832;">;</span>
好了到這里就完成了cookie的設置
3. 過期按需處理一下
附1:cookie的獲取
response.headerFields = conn.getHeaderFields();
setCookies(response.headerFields);
/**
* 存儲cookie
* @param headerFields
*/
protected void setCookies(Map<String, List<String>> headerFields) {
if (null == headerFields) {
return;
}
List<String> cookies = headerFields.get(COOKIES_KEY);
if (null == cookies) {
return;
}
for (String cookie : cookies) {
setCookie(cookie);
}
}