日期:2014-05-17  浏览次数:21346 次

C# 下载文件远程服务器返回错误: (403) 已禁止,求各位朋友帮忙!!!
http://www.shutterstock.com 用浏览器下载图片没有问题,但通过我的C# AP程序不行

我已经通过获取头部Cookie以及下次Get页面set cookie保持了登陆状态
保持登陆状态的关键代码
 cookieHeader = response.Headers["Set-cookie"];  //get the cookie
 webRequest.Headers.Add("Cookie", cookieHeader);

下载部分代码如下:

            //////////////////////////////////////////////////////////////////////////
            //photo page method 1-3 down load file

            string file_name = "";
            url = GetDownloadUrl(responseData);
            url_reference = GetDownloadUrlRe(url,responseData);

            file_name = GetFileNameViaURL(url);
            //DownloadFile(url, "f:\\" + file_name, "a");


            webRequest = WebRequest.Create(url) as HttpWebRequest;
            webRequest.MediaType = "GET";            
            webRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.1) Gecko/20100101 Firefox/6.0.1";            
            webRequest.Host = "download.shutterstock.com";
            webRequest.UseDefaultCredentials = true;
            webRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
            webRequest.KeepAlive = true;
            webRequest.Headers.Add("Accept-Encoding", "gzip, deflate");
            webRequest.Headers.Add("Accept-Language", "zh-cn,en-us;q=0.5");            
            
            webRequest.Headers.Add("Cookie", cookieHeader);//session in cookie