Android: Handling cookies with Webviews now that Apaches HTTP methods are deprecated? -
i'm trying make post request gives me json. in request, header contains header cookie. later, need attach(?) cookie webview (along proper url).
now apache requests , cookiesyncmanager deprecated, i'm kinda lost.
this code, , doesn't work.
post request code:
public static string calljsonpost(string urlstring) { string data = null; try { url url = new url(urlstring); httpurlconnection conn = (httpurlconnection) url.openconnection(); conn.setreadtimeout(10000 /* milliseconds */); conn.setconnecttimeout(15000 /* milliseconds */); conn.setrequestmethod("post"); conn.setdoinput(true); conn.setusecaches(true); // set cookies in requests cookiemanager cookiemanager = cookiemanager.getinstance(); string cookie = cookiemanager.getcookie(conn.geturl().tostring()); if (cookie != null) { conn.setrequestproperty("cookie", cookie); } conn.connect(); // cookies responses , save cookie manager list<string> cookielist = conn.getheaderfields().get("set-cookie"); if (cookielist != null) { (string cookietemp : cookielist) { cookiemanager.setcookie(conn.geturl().tostring(), cookietemp); } } inputstream in = new bufferedinputstream(conn.getinputstream()); data = convertstreamtostring(in); in.close(); } catch (sockettimeoutexception e) { e.printstacktrace(); } return data; }
webview cookie attachment code:
public class webviewfragment extends fragment { @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { view view = inflater.inflate(r.layout.pager_webview_fragment, container, false); mwvmain = (webview) view.findviewbyid(r.id.mwvmain); cookiemanager cookies = cookiemanager.getinstance(); cookies.setacceptcookie(true); cookies.setcookie(murl, "cookie"); mwvmain.loadurl(murl); mwvmain.setwebviewclient(webviewmanager.sharedinstance()); websettings s = mwvmain.getsettings(); s.setjavascriptenabled(true); s.setdomstorageenabled(true); s.setappcacheenabled(true); s.setallowfileaccess(true); s.setdatabaseenabled(true); s.setloadsimagesautomatically(true); s.setallowcontentaccess(true); return view; } }
what doing wrong?
update after testing, cookie call. remaining question how implement cookie webviews header?
Comments
Post a Comment