使用WebClient下载Dropbox文件时出错

时间:2013-11-27 09:06:28

标签: download webclient dropbox

我正在下载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),但也有同样的错误。

提前致谢。

1 个答案:

答案 0 :(得分:0)

看起来您正在尝试使用某种用户名/密码身份验证来下载文件? Dropbox不支持任何此类事情。

您没有共享您尝试下载的网址。如果它是共享链接(由共享文件的用户创建的链接),则它应该不使用身份验证。如果它是尚未共享的文件,您需要通过Dropbox API访问它。请参阅https://www.dropbox.com/developers以开始了解Dropbox API。