C#WebClient.DownloadFile问题与UrlEncoding

时间:2018-10-11 15:05:15

标签: c# webclient

我有一个https://example.com/4654ds-dsds5-982/file%20%281%29.pdf?token=xxxxxxxx这样的网址

我使用WebClient.DownloadFile下载此文件,但是当String转换为Uri时,URL更改为https://example.com/4654ds-dsds5-982/file%20(1).pdf?token=xxxxxxxx

RefData

我的问题是下载文件的令牌与我们使用的API提供的文件名同步,因此URL必须完全相同(具有相同的编码字符)

是否有建议在不更改输入URL的情况下从URL下载文件?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用旧的HttpWebRequest类

var url = " https://example.com/4654ds-dsds5-982/file%20%281%29.pdf?token=xxxxxxxx";
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
    var destination = "<some local folder>";
    var responseStream = response.GetResponseStream();
    using (var fileStream = File.Create(destination))
    {
        responseStream.CopyTo(fileStream);
    }
}