Richiesta di invio WebView di WebView con intestazioni personalizzate

Ho potuto vedere che esistono due methods separati nei documenti di Android per submit i dati e aggiungere le intestazioni.

For setting Headers public void loadUrl (String url, Map<String, String> additionalHttpHeaders) For setting Post Data public void postUrl (String url, byte[] postData) 

Ma quello che ho veramente richiesto è quello di submit i dati insieme alle intestazioni. (Significa che voglio un singolo metodo che fa sia il task?)

  • L'impostazione di setBackgroundResource di Android provoca l'exception della memory
  • Come faccio a creare un ListView con angoli arrotondati in Android?
  • Progetto Android che fa riferimento al progetto "normale" java in eclipse dal momento che gli aggiornamenti degli strumenti sdk 17
  • android: listview in listview
  • Dialogo / Popup di image di Android
  • Attività di pianificazione di Cordova
  • Qualcuno può aiutarmi con questo.

    Grazie 🙂

  • Come definisce Firebase Analytics un "utente" (per scopi di pubblico)?
  • Comportmento strano durante il tentativo di get l'image da DCIM
  • Come posso impostare il gradiente di colore di background in una barra dei titoli personalizzata?
  • Domanda di energia di wifi di Android
  • Autorizzazione di Facebook di Facebook - non è ansible accedere quando viene installata l'applicazione ufficiale di Facebook
  • AsyncTask ImageView dall'image web utilizzando setImageBitmap
  • 2 Solutions collect form web for “Richiesta di invio WebView di WebView con intestazioni personalizzate”

    Recentemente ho avuto un problema sullo stesso problema e dopo qualche ora ho risolto.

    Ecco il mio snippet di codice con alcuni commenti:

     HttpClient httpclient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(getPostUrl()); // example of adding extra header "Referer" httpPost.addHeader("Referer", getReferer()); ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>(); for (PostItem postItem : getPostItems()) { // key value post pairs // add post parameters in arrays list postParameters.add(new BasicNameValuePair(postItem.getKey(), postItem.getValue())); } HttpResponse response = null; try { mWebView.getSettings().setJavaScriptEnabled(true); httpPost.setEntity(new UrlEncodedFormEntity(postParameters)); response = httpclient.execute(httpPost); BasicResponseHandler responseHandler = new BasicResponseHandler(); String htmlString = responseHandler.handleResponse(response); // importnt!! is to fill base url mWebView.loadDataWithBaseURL(getPostUrl(), htmlString, "text/html", "utf-8", null); } catch (Exception e){ // handle errors } 

    Sembra che il quadro non fornisce queste caratteristiche insieme.

    Guardando il codice sorgente di WebViewCore ( https://android.googlesource.com/platform/frameworks/base/+/eclair-release%5E2/core/java/android/webkit/WebViewCore.java , linea 889), ulteriori intestazioni vengono elaborati solo nella chiamata loadUrl e mai nel postUrl .

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.