本人新手,剛接觸AS也沒有多久,記錄下兩個問題. 1. 怎麼在android studio中寫入cookies 把寫入cookies的動作放在了主界面的onCreate事件中了,看了騰訊的說明,說是要放在X5初始化完成以後,在這裡應該已經初始化完成了. 然後在使用了X5 webview中的fargm ...
本人新手,剛接觸AS也沒有多久,記錄下兩個問題.
1. 怎麼在android studio中寫入cookies
把寫入cookies的動作放在了主界面的onCreate事件中了,看了騰訊的說明,說是要放在X5初始化完成以後,在這裡應該已經初始化完成了.
String url="http://wx.xxxxxxx.com.cn"; com.tencent.smtt.sdk.CookieSyncManager.createInstance(this); com.tencent.smtt.sdk.CookieManager cm=com.tencent.smtt.sdk.CookieManager.getInstance(); cm.setAcceptCookie(true); cm.setCookie(url,"uid=134xxxxxxxx"); cm.setCookie(url,"pwd=wwwwwxxxxx"); if (Build.VERSION.SDK_INT < 21) { com.tencent.smtt.sdk.CookieSyncManager.getInstance().sync(); } else { com.tencent.smtt.sdk. CookieManager.getInstance().flush(); }
然後在使用了X5 webview中的fargment中在頁面載入完成時,也能讀取到cookies的信息
public void onPageFinished(WebView view, String url) { com.tencent.smtt.sdk.CookieManager cookieManager = com.tencent.smtt.sdk.CookieManager.getInstance(); String CookieStr = cookieManager.getCookie(url); Log.e("uid", "Cookies = " + CookieStr); super.onPageFinished(view, url); }
雖然代碼很亂,但是基本上能用了
2. 怎麼在asp.net的頁面中把cookies讀取出來的問題
發現讀取由app客戶端生成的cookies和網頁端生成兩者還是有區別的,主要是app客戶端生成的cookies有一堆cookies組成,讀取不方便,我笨也不知怎麼組裝一個有名稱的cookies出來,只好把cookie都讀一次,能讀取到我設置的值,就認為它是可以用的,就像下邊,有好辦法的給回覆一下.
Public Function ReadCookie() As String Dim username As String = "" Dim pass As String = "" For i = 0 To Request.Cookies.Count - 1 Select Case Request.Cookies(i).Name Case "uid" username = Request.Cookies(i).Values(0) Case "pwd" pass = Request.Cookies(i).Values(0) End Select Next username = username & "--" & pass Return username End Function
這樣就讀取到了, 放在自己的網頁中使用了.