CORS с пешеходным переходом и OKHttp

Я пытаюсь использовать встроенное веб-представление пешеходного перехода для отображения веб-страницы с некоторым количеством JavaScript. Поскольку мне нужно добавить несколько заголовков к каждому запросу, я перехватываю запрос с shouldInterceptLoadRequestи сделать запрос с OkHttp.

@Override
public WebResourceResponse shouldInterceptLoadRequest(XWalkView view, String url) {
    try {
        Log.i(App.TAG, url);
        return new WebResourceResponse("", "UTF-8", getUrl(url));
    } catch (Exception e) {
        e.printStackTrace();
        return super.shouldInterceptLoadRequest(view, url);
    }
}

InputStream getUrl(String url) throws IOException {
    Request request = new Request.Builder()
            .url(url)
            .addHeader("MyHeader","MyHeaderValue")
            .build();

    Response response = client.newCall(request).execute();

    return response.body().byteStream();
}

Этот код сначала работает как задумано, но после выполнения запроса Ajax я получаю эту ошибку: [INFO:CONSOLE(0)] "XMLHttpRequest cannot load https://api.example1.com. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://example2.com' is therefore not allowed access."

Я не получаю эту ошибку, если я не перехватываю запрос, но тогда я теряю возможность добавлять заголовки к запросу.

0 ответов

Другие вопросы по тегам