我有一个基于C#控制台的应用程序(Windows 10,VS2015),我想从两篇维基百科文章中下载原始文本。维基百科网址包含变音符号,其中一个会给我带来麻烦。以下是获取Web响应的代码:
WebRequest.Create("https://en.wikipedia.org/wiki/Albrecht_Dürer").GetResponse();
WebRequest.Create("https://en.wikipedia.org/wiki/Dürer's_Rhinoceros").GetResponse();
WebRequest.Create("https://en.wikipedia.org/wiki/Durer's_Rhinoceros").GetResponse();
第三个响应用于测试目的,与第二个响应相同,除了我用'u'替换'ü'。所以第一个响应正常,第二个响应失败,第三个响应。起初我以为它只是变形金刚,但如果是这样的话,那么第一个反应将无效。我在第二个回复中收到的错误是:
System.Net.WebException: Too many automatic redirections were attempted.
此外,当我在Windows Phone 8.1 Silverlight项目上测试它们时,所有这三个响应都有效。任何人都知道发生了什么事?
答案 0 :(得分:0)
您应该使用System.Web.HttpUtility.UrlEncode()
对网址进行编码。您也可以尝试使用System.Uri.EscapeDataString()
。
我猜单引号会产生问题。使用上述方法,单引号应转换为%27
。