Log*_*tor 9 cookies android download
我正在使用android DownloadManagerAPI从我学校的服务器下载文件.我有权使用登录访问这些文件,但我无法弄清楚如何使用我DownloadManager.Request的提交cookie 下载代码如下.dm是一个全球性的DownloadManager,url是一个php下载脚本,它重定向到一个文件,通常是pdf/doc/etc.
dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
Request request = new Request(Uri.parse(url));
dm.enqueue(request);
Intent i = new Intent();
i.setAction(DownloadManager.ACTION_VIEW_DOWNLOADS);
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我下载了一个html文件,这是我学校网站的登录页面.显然我需要以某种方式提交用户的会话cookie,但我在文档中看不到任何这样做的方法.
Mic*_*sen 22
Cookie是通过HTTP标头发送的(命名,足够恰当,"Cookie"),幸运的是,DownloadManager.Request 有一个添加自己标头的方法.
所以你想要做的是这样的:
Request request = new Request(Uri.parse(url));
request.addRequestHeader("Cookie", "contents");
dm.enqueue(request);
Run Code Online (Sandbox Code Playgroud)
当然,您必须将"内容"替换为实际的cookie内容.该CookieManager类应该是让该站点的当前Cookie是有用的,但如果失败,另一种选择是让你的应用程序中进行的登录请求,并抢回来的cookie.
| 归档时间: |
|
| 查看次数: |
5014 次 |
| 最近记录: |