I'm getting a HttpResponse
from a server when checking if a username or password is correct. When I load the url
in a webview
I want the webView
to have the cookie (the answer I get with postData()
stored in the webView
. I want the webView to pickup the cookie and load the url with that cookie stored in the webview.
I'm getting the response through.
public HttpResponse postData() { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("https://example.com/login.aspx"); try { List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); nameValuePairs.add(new BasicNameValuePair("txtUsername", "user")); nameValuePairs.add(new BasicNameValuePair("txtPassword", "123")); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); HttpResponse response = httpclient.execute(httppost); String responseAsText = EntityUtils.toString(response.getEntity()); Log.v(TAG , "Response from req: " + responseAsText); return responseAsText; } catch (ClientProtocolException e) { } catch (IOException e) { } return null; }
And I loadUrl with:
webView.loadUrl("http://a_page.com/getpage.aspx?p=home");
I guess I'm not really managing a cookie and I have no idea how to do so. Any suggestions or solutions?
It's quite simple really. String cookieString = "cookie_name=cookie_value; path=/"; CookieManager. getInstance(). setCookie(baseUrl, cookieString);
Webview properly, APP has to share cookies with Ms. Webview in the way she prefers, that is through the WebKit CookieManager.
Thankfully, UWP and iOS share their cookie containers automatically between the WebView and native http client, however Android does not.
It's quite simple really.
String cookieString = "cookie_name=cookie_value; path=/"; CookieManager.getInstance().setCookie(baseUrl, cookieString);
where cookieString
is formatted the same as a more traditional Set-Cookie
HTTP header, and baseUrl
is the site the cookie should belong to.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With