我正在下载Dropbox中托管的文本文件。但我在Completed功能中获得了400错误代码。我发现问题仅在于Dropbox托管文件。我可以下载托管的其他示例文本文件,例如“http://wordpress.org/plugins/about/readme.txt”。
以下是我用于从dropbox下载文本文件的代码段。
void downloadFile()
{
WebClient webClient = new WebClient();
NetworkCredential Credentials = new NetworkCredential(<username>, <password>, "<domain>);
webClient.Proxy = WebRequest.GetSystemWebProxy();
webClient.Proxy.Credentials = Credentials;
webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
webClient.DownloadFileAsync(<downloadfileurl>, @"C:\test.txt");
}
private void Completed(object sender, AsyncCompletedEventArgs e)
{
if (e.Error == null)
{
MessageBox.Show("Successfully downloaded");
}
else
{
MessageBox.Show(e.Error.ToString());
}
}
以下是我遇到的错误:
System.Net.WebException: The remote server returned an error: (400) Bad Request.
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.Net.WebClient.GetWebResponse(WebRequest request, IAsyncResult result)
at System.Net.WebClient.DownloadBitsResponseCallback(IAsyncResult result)
任何支持调整此问题都将受到高度赞赏。
注意:我也尝试过使用WebRequest(POST),但也有同样的错误。
提前致谢。
答案 0 :(得分:0)
看起来您正在尝试使用某种用户名/密码身份验证来下载文件? Dropbox不支持任何此类事情。
您没有共享您尝试下载的网址。如果它是共享链接(由共享文件的用户创建的链接),则它应该不使用身份验证。如果它是尚未共享的文件,您需要通过Dropbox API访问它。请参阅https://www.dropbox.com/developers以开始了解Dropbox API。