我试图从网络服务器下载文件,例如使用Cookie从URL下载文件
http://web.server.com/getfile=2
现在,在Web浏览器中我能做到这一点,因为我已经验证自己,可以查看该cookie允许访问该文件。
我做的研究公平一点,并相信一个cookie容器就拿着饼干,虽然我无法确定如何,那么你可以从C#中使用的CookieContainer
我试图从网络服务器下载文件,例如使用Cookie从URL下载文件
http://web.server.com/getfile=2
现在,在Web浏览器中我能做到这一点,因为我已经验证自己,可以查看该cookie允许访问该文件。
我做的研究公平一点,并相信一个cookie容器就拿着饼干,虽然我无法确定如何,那么你可以从C#中使用的CookieContainer
下载这个文件做一个HTTP GET请求到包含cookie的页面,存储cookie并附加到getfile的第二个请求。
TODO:添加样品
在C#中,你应该使用Web客户端。 尽管它可以独立使用,但像这样的代码可以减少您每次添加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;
}
}
进行GET请求方含网页的Cookie,存储cookie,并连接到第二个请求GETFILE –
谢谢你,那只是简单的逻辑,我需要!谢谢:) –
祝你好运,并标记它的答案;) –