从重定向链接下载文件

时间:2016-05-29 14:35:43

标签: c#

我知道如何通过网络客户端下载文件,但事情是我从链接下载.rar文件,链接被重定向2到3次我使用webclient和httpwebrequest

WebClient webClient = new WebClient();
webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
webClient.DownloadFileAsync(new Uri("http://www.example.com"), "setup.rar");

webclient可以下载该文件但已损坏且

我使用过HttpWebRequest 它可以重定向链接,但不会下载文件

1 个答案:

答案 0 :(得分:0)

Webclient类不是浏览器。如果它看到3xx请求,它将不会自动响应它。由呼叫者决定下一步该做什么。

您可以尝试编写自定义WebClient类以启用自动重定向。

select * from 
(
select col1,
select id1 from testid1 where name=pnrtable1.name,
col3 from table1  
union all  
select coltab1,
select newid2 from testid2 where name=pnrtable2.name,
coltab3 from table2  
union all  
select namecol1,
select id3 from testid3 where name=pnrtable3.name,
namecol3 from table3  
)

然后:

public class WebClientEx : WebClient
{
    protected override WebRequest GetWebRequest(Uri address)
    {
        var request = (HttpWebRequest)base.GetWebRequest(address);
        request.AllowAutoRedirect = false;
        return request;
    }
}

我没有对此进行测试,但请试一试,看看它是否有效。