Ich versuche, meine WebView-Header aussehen wie der Benutzer nur mit dem regulären Browser und nicht mit einem WebView. Von dem, was ich sammeln kann, sind die Header identisch, abgesehen davon, dass das WebView auch einen X-Requested-With-Header sendet, der den Namen des Apps-Pakets enthält. Gibt es eine Möglichkeit, dies zu verhindern?Android: Deaktivieren X-Requested-Mit Header In WebView
13
A
Antwort
1
Sie können es für Android API tun> 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
Das bedeutet, dass wir nur den Wert des Headers "X-Requested-With" ändern können. Können wir es komplett löschen oder verwerfen? – Manisha
+1 in der Regel x-requested-mit verwendet Ajax-Anforderung zu erkennen, Art Dinge von Schläuchen, wenn android den Header auf _every_ Anfrage, Ajax sendet oder nicht . – virtualeyes
Das klingt viel wie http://stackoverflow.com/questions/7610790/add-custom-headers-to-webview-resource-requests-android – jlindenbaum
@KingFu - konnten Sie X-Request-With-Header vollständig verwerfen? Denn alle Antworten betreffen hauptsächlich das Ändern oder Bearbeiten der Kopfzeile, anstatt sie zu löschen oder zu deaktivieren. – Manisha