使用cookie从URL下载文件

时间:2012-06-07 17:24:14

标签: c# .net windows cookies

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

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

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

我做了一些研究,并相信一个cookie容器会保存cookie,虽然我无法确定如何使用CookieContainer从C#中下载此文件

2 个答案:

答案 0 :(得分:4)

在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;
    }
}

答案 1 :(得分:1)

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

待办事项:添加样本