我知道有很多与此主题相关的问题,但没有一个问题对我有用。
我有String
,其中包含key=value; key=value; ...
形式的一些Cookie。
我的应用:
public class MainActivity extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
webView = new WebView(this);
setContentView(webView);
configWebView();
loadCookies();
}
@SuppressLint("SetJavaScriptEnabled")
void configWebView() {
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient() {
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
Map<String, String> requestHeaders = request.getRequestHeaders();
return super.shouldInterceptRequest(view, request);
}
});
}
void loadCookies() {
// Do things
loadPage(cookies);
}
void loadPage(String cookies) {
CookieManager cookieManager = CookieManager.getInstance();
for (String cookie : cookies.split(";")) {
cookieManager.setCookie(DOMAIN, cookie.trim());
}
cookieManager.flush();
webView.loadPage(URL);
}
}
我没有看到我期待的结果,如果我检查requestHeaders
的内容,我发现没有Cookie传递给服务器。
我错过了什么?