1

I'm using flutter_inappwebview + I need custom headers with all requests. Partly my problem is solved just by adding some headers to requests in native iOS/Android code.

InAppWebView.swift

var request = URLRequest(url: url)
if value != nil {
    request.addValue(value!, forHTTPHeaderField: "some_key")
}
load(request)

InAppWebView.java

if (headers != null) {
    loadUrl(url, headers);
    return;
}
loadUrl(url);

for Android

But in case when page have Google reCaptcha - iOS works just fine. But non of those methods (like loadUrl(url, headers)) is called on Android.

This methods are called instead (in case if Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT)

loadUrl("javascript:" + scriptToInject.replaceAll("[\r\n]+", ""));

and if higher

evaluateJavascript(scriptToInject, new ValueCallback<String>() {
                        @Override
                        public void onReceiveValue(String s) {
                            if (resultUuid != null || resultCallback == null)
                                return;
                            resultCallback.onReceiveValue(s);
                        }
                    });

I try adding headers here. But with no luck)

loadUrl("javascript:" + scriptToInject.replaceAll("[\r\n]+", ""), headers);

Any suggestions how to achieve desired behavior (custom headers after reCaptcha is done)?

Halil Ozel
  • 2,482
  • 3
  • 17
  • 32
Vermillion828
  • 91
  • 1
  • 7

0 Answers0