2016-10-09 29 views
0

Android 4.0以上を使用してAndroidリクエストWEBVIEWのHTTPリクエストにヘッダを追加したいと思います。これどうやってやるの?Android Webview HTTPリクエストにヘッダを追加する

+1

この記事を参照してください。http://stackoverflow.com/questions/7610790/add-custom-headers-to-webview-resource-requests-([WebViewのリソース要求にカスタムヘッダーを追加]アンドロイド) –

答えて

0

こんにちは私はこの(特にクッキー)を理解するのに十分な時間を費やしましたが、ここでどのように解決されましたか。あなたが必要とするヘッダを追加するには

1.inのonCreate()

final WebSettings settings = wv_payment.getSettings(); 

     settings.setJavaScriptEnabled(true); 
     settings.setDisplayZoomControls(false); 
     settings.setAppCacheEnabled(true); 
     settings.setLoadsImagesAutomatically(true); 
     settings.setBuiltInZoomControls(false); 
     settings.setPluginState(WebSettings.PluginState.ON); 

     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) 
      settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); 

以上のものではJavaScriptなどを可能にするために..です

:ヘッダーを設定する方法についてのご質問についてはそう

webViewclientを以下のようにwebviewに設定してください(私のウェブサイトにはヘッダーの基本認証が必要なので、次のように追加します)

wv_payment.setWebViewClient(new WebViewClient() { 
       @Override 
       public boolean shouldOverrideUrlLoading(WebView view, String url) { 
        String credentials = "username" + ":" + "password"; 

        final String basic = 
          "Basic " + Base64.encodeToString(credentials.getBytes(), Base64.NO_WRAP); 

        HashMap<String, String> headerMap = new HashMap<>(); 
    //put all headers in this header map 
        headerMap.put("Authorization", basic); 


        view.loadUrl(url, headerMap); 
        return true; 
       } 

       @Override 
       public void onPageFinished(WebView view, String url) { 
        super.onPageFinished(view, url); 
    //dismissing loading progress 
        AppUtils.dismissProgressDialog(progressDialog); 
       } 

       @Override 
       public void onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host, String realm) { 
       //here goes your url authentications if any 
        handler.proceed("username", "password"); 
       } 
      }); 

ご不明な点がございましたら、下記にご記入ください。

-1

この設定をウェブ設定の に設定すると、webviewからのすべてのリクエストでこのUser-Agentヘッダーが使用されます。

webview.getSettings().setUserAgentString("user-agent-string");

関連する問題