当你在 WebView 里访问套了 CF 的网站,只有通过验证的那一次请求可以访问,后续的任何访问都需要再次验证,也就是说 Cookie 没有被缓存到本地,也拦截不到 Set-Cookie 的那一条响应。
于是想到,肯定是 CF 知道你用了 WebView ,于是我设置了 Chrome 同款 UA ,但是直接过不了验证。
给 WebView 设置的 UA 只作用于根请求,但是 CF 会通过 js 来发送请求,这个请求的 UA 是直接通过 navigator.userAgent 获取的,不受 WebView 设置影响,你也不能用 js 更改这个值。
而 WebView 默认的 UA ,打印出来一看,直接明牌写着 wv 两个字。
后来通过 Object.defineProperty 修改了 navigator.userAgent ,但还是不给设置 Cookie 。
有大佬知道怎么通过 WebView 获取到 CF 的 Cookie 吗?