最近搞android webview 打开网易邮箱下载附件,试过了很多多种方法, 最后发现需要cookie referer 走了很多弯路 Uri source = Uri.parse(url); DownloadManager.Request request = new DownloadManager.Request(source); String cookie = CookieManager.getInstance().getCookie(url); request.addRequestHeader("Cookie", cookie); request.addRequestHeader("User-Agent", view.getSettings().getUserAgentString()); request.addRequestHeader("Accept", "text/html, application/xhtml+xml, *" + "/" + "*"); request.addRequestHeader("Accept-Language", "en-US,en;q=0.7,he;q=0.3"); request.addRequestHeader("Referer", url); // Use the same file name for the destination final File destinationDir = new File (Environment.getExternalStorageDirectory(), cordova.getActivity().getPackageName()); if (!destinationDir.exists()) { destinationDir.mkdir(); // Don't forget to make the directory if it's not there } File destinationFile = new File (destinationDir, source.getLastPathSegment()); Log.e("FILEPOSITION", Uri.fromFile(destinationFile).toString()); request.setDestinationUri(Uri.fromFile(destinationFile)); // Add it to the manager manager.enqueue(request);
android下载 授权限制,cookie认证
最新推荐文章于 2024-08-09 17:40:41 发布