WebView 不加载 Instagram 登录页面

WebView does not load Instagram login page

我有一个 android 应用程序,有数千名用户在使用。最近,一位用户联系我说他的 Instagram 登录页面无法加载。他说他不使用 vpn 或任何其他可能以任何方式影响互联网连接的东西。我不明白这种行为的原因是什么,这是数千个案例中的一个孤立案例。

这是我开始加载的方式:

webView.clearCache(true)
webView.clearFormData()
webView.clearHistory()
webView.clearSslPreferences()

webView.webViewClient = object : WebViewClient() {
          override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
              view.loadUrl(url)
              return false
          }

          override fun onLoadResource(view: WebView?, url: String?) {
              // some my code
          }
}

webView.settings.javaScriptEnabled = true
webView.settings.domStorageEnabled = true      
webView.settings.loadWithOverviewMode = true  
webView.settings.useWideViewPort = true      
webView.settings.userAgentString = InstagramClient.Configuration.current.webUserAgent

webView.post {
    run {
        webView.loadUrl("https://www.instagram.com/accounts/login/")
    }
}

webUserAgent(如果重要的话):

val webUserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS $osVersion like Mac OS X) " +
                "AppleWebKit/$webKitVersion (KHTML, like Gecko) $safariVersion"

我很乐意提供任何帮助!

尝试使用这个库它将return你的社交ID和用户名

Instagram Login Helper

问题出在 webUserAgent 上。显然,由于某种原因,在 Android 上加载 IOS 代理时可能会发生崩溃。

我刚刚更换了代理。例如这里 https://developers.whatismybrowser.com/useragents/explore/operating_system_name/android/