【发布时间】:2011-11-20 09:26:02
【问题描述】:
我正在使用此代码下载文件
private WebClient client;
client = new WebClient();
if (isBusy)
{
client.CancelAsync();
isBusy = false;
this.downloadButton.Text = "Download";
}
else
{
try {
Uri uri = new Uri(urlTextBox.Text);
this.downloadProgressBar.Value = 0;
client.Headers.Add("User-Agent: Other");
client.DownloadFileAsync(uri, "test.csv.zip");
this.downloadButton.Text = "Cancel";
isBusy = true;
}
catch (UriFormatException ex) {
MessageBox.Show(ex.Message);
}
}
但我得到一个错误,错误是
Download Not Complete: The remote server returned an error: (403) Forbidden.
我不知道为什么会来。
但是当我在免费下载管理器中使用 uri 进行下载时,它的工作原理
我添加了这一行
client.Headers.Add("User-Agent: Other");
但它仍然无法正常工作。
如果有人可以帮助我,将不胜感激。
提前致谢。
【问题讨论】:
-
这看起来像是特定站点的问题,而不是 C# 的问题。可以从其他网站下载吗?
-
你有没有通过 fiddler 运行这两个请求(工作 vs 不工作),看看有什么不同?
-
我可以从网站下载文件并通过下载管理器购买而不是通过此代码
-
如果你想看看有什么不同,我重复一遍:使用 fiddler。这需要大约 1 分钟来比较