例如,我尝试下载文件名中带有特殊字符'Ç'的文件,但URL字符串中出现了该字符异常。
System.Net.WebExceptionHResult = 0x80131509消息=远程服务器返回错误:(404)找不到。Source = System.Net.Requests
例如:http://www.somesite.com/abcdç.pdf将在WebClient中创建一个例外。使用URI下载文件的另一种方法是什么?如何解决此异常?
这里有一些示例代码:
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
client.Encoding = System.Text.Encoding.UTF8;
byte[] archiveData = wc.DownloadData("http://www.somesite.com/abcdç.pdf");
您可以尝试对特殊字符使用Uri编码,例如。
www.somesite.com/abcd%C3%A7.pdf
您可以像这样获得安全的Uri
Uri u = new Uri("http://www.somesite.com/abcdç.pdf");
byte[] archiveData = wc.DownloadData(u.AbsoluteUri);
u.AbsoluteUri
将为您提供编码的URI。