gpt4 book ai didi

android - 是否可以在 Android DownloadManager 中提交 cookie

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:21:41 25 4
gpt4 key购买 nike

我正在使用 android DownloadManager API 从我学校的服务器下载文件。我有权通过登录访问这些文件,但我一直无法弄清楚的是如何使用我的 DownloadManager.Request 提交 cookie 下载代码如下。 dm 是一个全局的 DownloadManagerurl 是一个 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);

这工作正常,但我下载了一个 html 文件,这是我学校网站的登录页面。显然我需要以某种方式提交用户的 session cookie,但我在文档中看不到任何执行此操作的方法。

最佳答案

Cookie 是通过 HTTP header (命名为“Cookie”)发送的,幸运的是,DownloadManager.Request has a method添加您自己的标题。

所以你想要做的是这样的:

Request request = new Request(Uri.parse(url)); 
request.addRequestHeader("Cookie", "contents");
dm.enqueue(request);

当然,您必须将“内容”替换为实际的 cookie 内容。 CookieManager类应该有助于获取站点的当前 cookie,但如果失败,另一种选择是让您的应用程序发出登录请求并获取返回的 cookie。

关于android - 是否可以在 Android DownloadManager 中提交 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10940223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com