Sto cercando di rendere le intestazioni di WebView simili a quelle dell'utente che utilizza solo il normale browser e non utilizza una WebView. Da quello che posso raccogliere le intestazioni sono identiche a parte che WebView invia anche un'intestazione X-Requested-With contenente il nome del pacchetto delle app. C'è un modo per prevenirlo?Android: Disabilita X-Requested-With Header in WebView
13
A
risposta
1
È possibile farlo per API Android> 11
public class AndroidMobileAppSampleActivity extends Activity {
Map<String, String> extraHeaders = new HashMap<String, String>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView mainWebView = (WebView) findViewById(R.id.mainWebView);
// must define X-Requested-With, if header missing, then webview will
//add your package name
extraHeaders.put("X-Requested-With", "your presentation");
WebSettings webSettings = mainWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mainWebView.setWebViewClient(new MyCustomWebViewClient());
mainWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
mainWebView.loadUrl("http://www.somesite.com", extraHeaders);
}
private class MyCustomWebViewClient extends WebViewClient {
@Override
public WebResourceResponse shouldInterceptRequest(WebView view,
String url) {
// TODO Here you must overwrite request using your
// HttpClient Request
// and pass it to new WebResourceResponse
return new WebResourceResponse(response.ContentType, response.ContentEncoding, responseStream);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// Apply again your heades here
view.loadUrl(url, extraHeaders);
return true;
}
}
}
+1
Ciò significa che possiamo modificare solo il valore dell'intestazione "X-Requested-With". È possibile eliminarlo o scartarlo completamente? – Manisha
Problemi correlati
- 1. Disabilita Android WebView/WebViewClient Initiato favicon.ico Richiesta
- 2. WebView Android: disabilita scorrimento sfumatura bordo giallo
- 3. Disabilita etag Header in Express Node.js
- 4. Disabilita messaggi WebView dall'output logcat
- 5. Android Webview disabilita tutti i collegamenti, ma abilita lo scroll
- 6. Cocoa webView - Disabilita tutte le interazioni
- 7. Android ListView Header Disable Click
- 8. Pizzico Zoom in webview [Android]
- 9. Html Audio in Android Webview
- 10. Android singleTap/OnClick in WebView
- 11. programmatica click in Android WebView
- 12. webview android stay in app
- 13. Android: disabilita l'evidenziazione in GridView
- 14. Disabilita schermate in android ics
- 15. Disabilita doppio tocco Zoom/Unzoom su una webview
- 16. .NET Header Header Template
- 17. Android WebView smooth scroll
- 18. Android WebView Javascript getSelection
- 19. WebView Android saveState
- 20. Android WebView removeCookie
- 21. Prestazioni WebView Android
- 22. Handle Android WebView onReceivedClientCertRequest
- 23. Android Webview Redirect loop
- 24. Colore sfondo Android WebView
- 25. Android. WebView e loadData
- 26. Android WebView Javascript abilitato
- 27. Risposta POST HTTP in WebView in Android
- 28. Apri URL in webView in Android
- 29. Abilita/disabilita Android ActionBar.Tab
- 30. Android disabilita listview elementi
+1 solito X-richiesta-con viene utilizzato per rilevare richiesta AJAX, tipo di tubi cose quando Android invia l'intestazione su _ogni_ richiesta, Ajax o no . – virtualeyes
Sembra molto simile a http://stackoverflow.com/questions/7610790/add-custom-headers-to-webview-resource-requests-android – jlindenbaum
@KingFu - Sei riuscito a scartare completamente l'intestazione X-Request-With? Perché tutte le risposte riguardano principalmente come modificare o modificare l'intestazione invece di come eliminarla o disattivarla. – Manisha