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