[英]Headers not working in WebView Android
我是一名Android程序員,但有一個問題已經嘗試解決了一段時間:
我使用webview,並傳遞標頭以從Web刪除頁腳和標頭 ,但是在進行重定向時標頭會丟失。
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);
}
};
}
這是我的方法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;
}
}
我已經嘗試解決這個問題一段時間了。 我將非常感謝您的幫助🙏🏻
傳遞標頭以使用重定向的正確方法是什么?
事先非常感謝
您的getCustomHeaders()方法在哪里? 如果您要在loadUrl中發送標頭,那么它將被重定向到僅收到的第一個響應,此時您只需要從后端獲取它即可。 但是對於重定向,您將必須實現自定義請求/響應。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.