使用 Cookie 从 URL 下载文件

本文关键字:下载 文件 URL Cookie 使用 | 更新日期: 2023-09-27 18:36:39

我正在尝试从网络服务器下载文件,例如

http://web.server.com/getfile=2

现在在网络浏览器中我可以这样做,因为我已经对自己进行了身份验证,并且可以查看允许访问文件的cookie。

我已经做了相当多的研究,并相信cookie容器可以容纳cookie,尽管我无法确定如何使用CookieContainer从C#中下载此文件

使用 Cookie 从 URL 下载文件

在 c# 中,你应该使用 WebClient。虽然它可以独立使用,但这样的代码将减少您每次添加 cookie 标头的麻烦。

public class CookieAwareWebClient : WebClient
{
    private readonly CookieContainer m_container = new CookieContainer();
    protected override WebRequest GetWebRequest(Uri address)
    {
        WebRequest request = base.GetWebRequest(address);
        HttpWebRequest webRequest = request as HttpWebRequest;
        if (webRequest != null)
        {
            webRequest.CookieContainer = m_container;
        }
        return request;
    }
}

向包含 cookie 的页面发出 HTTP get 请求,存储该 cookie 并附加到 getfile 的第二个请求。

待办事项:添加示例