Почему webview с shouldInterceptRequest только делает Get запросы?
Код :
class MainActivity : AppCompatActivity() {
val url = "http://..."
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
webView.settings.javaScriptEnabled = true
webView.webViewClient = webViewClient
webView.loadUrl(url)
}
private val webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
view.loadUrl(url)
return true
}
override fun shouldInterceptRequest(view: WebView?, url: String?): WebResourceResponse? {
return getNewResponse(url!!)
}
fun getNewResponse(url: String): WebResourceResponse? {
return try {
val httpClient = OkHttpClient()
val request: Request = Request.Builder()
.url(url)
.addHeader("Authorization", "value")
.build()
val response: Response = httpClient.newCall(request).execute()
WebResourceResponse("","",response.body()?.byteStream())
} catch (e: Exception) {
null
}
}
}
В общем loaduri(url) загружает форму с кнопкой. При нажатии кнопки должен получиться POST запрос.
В браузере все нормально работает. Но на android все запросы GET. Как реализовать webview, чтобы он функционировал как браузер, и можно было в запросах добавлять header?