我知道如何通过网络客户端下载文件,但事情是我从链接下载.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 它可以重定向链接,但不会下载文件
答案 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;
}
}
我没有对此进行测试,但请试一试,看看它是否有效。