I am an Android programmer I have a problem that I have been trying to solve for some time:
I use a webview and I pass headers to remove footer and header from a web, but the headers are lost when a redirect is made.
public void isLogged() {
if (my_preferences.readElement(TAG_LOGGED, false)) {
WebSettings webSettings = web_pagos.getSettings();
webSettings.setJavaScriptEnabled(true);
web_pagos.loadUrl(url, getCustomHeaders());
web_pagos.setWebViewClient(getWebViewClient());
cancelProgress();
} else {
WebSettings webSettings = web_pagos.getSettings();
webSettings.setJavaScriptEnabled(true);
web_pagos.setWebViewClient(getWebViewClient());
web_pagos.loadUrl(url,getCustomHeaders());
cancelProgress();
}
}
private Map<String,String> getHeader()
{
Map<String,String> header = new HashMap<>();
header.put("nx-bodycss", "app-design");
return header;
}
private WebViewClient getWebViewClient()
{
return new WebViewClient()
{
@Override
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public boolean shouldOverrideUrlLoading(android.webkit.WebView view, WebResourceRequest request)
{
view.loadUrl(request.getUrl().toString(), getHeader());
return true;
}
@Override
public boolean shouldOverrideUrlLoading(android.webkit.WebView view, String url)
{
view.loadUrl(url, getHeader());
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
Log.e("ConsultaPasaporte",url);
super.onPageStarted(view, url, favicon);
}
};
}
this is my method getCustomHeaders
private Map<String, String> getCustomHeaders()
{
Map<String, String> headers = new HashMap<>();
if(my_preferences.readElement(TAG_LOGGED,false)) {
headers.put("nx-bodycss", "app-design");
headers.put("nx-user-identification", MyApplication.get_dataUser().getIdentificacion());
headers.put("nx-user-fecha-pago", MyApplication.get_dataUser().getPago());
headers.put("nx-user-token",MyApplication.getTokenFirebase());
return headers;
}else{
headers.put("nx-bodycss", "app-design");
headers.put("nx-user-token",MyApplication.getTokenFirebase());
return headers;
}
}
I've been trying to solve this problem for some time. I would greatly appreciate the help
What is the correct way to pass headers to work with redirects?
Beforehand thank you very much