从重定向页面下载文件

时间:2015-10-10 09:15:00

标签: c#

我如何从重定向页面下载文件(它本身根据用户进行一些计算)。

例如,如果我希望用户下载游戏,我会使用WebClient并执行以下操作:

client.DownloadFile("http://game-side.com/downloadfetch/");

这不像做

那么简单
client.DownloadFile("http://game-side.com/download.exe");

但如果用户点击第一个,它将重定向并下载它。

2 个答案:

答案 0 :(得分:1)

我认为,你应该选择那种稍微定制的WebClient类。它将遵循代码300重定向:

public class MyWebClient : WebClient
{
    protected override WebResponse GetWebResponse(WebRequest request)
    {
        (request as HttpWebRequest).AllowAutoRedirect = true;
        WebResponse response = base.GetWebResponse(request);
        return response;
    }
}
...
WebClient client=new MyWebClient();
client.DownloadFile("http://game-side.com/downloadfetch/", "download.zip");

答案 1 :(得分:0)

据我所知,这对于DownloadFile();

是不可能的

你可以用这个

HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create("http://game-side.com/downloadfetch/");    
myHttpWebRequest.MaximumAutomaticRedirections=1;
myHttpWebRequest.AllowAutoRedirect=true;
HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();

另见

Download file through code that has a redirect?