c#从url获取没有转义字符的字符串

时间:2016-01-15 08:42:47

标签: c#

这是我的字符串

string link = "http%3A%2F%2Feurocommunicator.ge%2Fgeo%2Fview_myth%2F229"

我想获得绝对的uri,但它会抛出uri无效的异常:

  Uri uri = new Uri(link);

这刺痛有什么不对? 我想得到这样的东西:

http://eurocommunicator.ge/geo/view_myth/229

3 个答案:

答案 0 :(得分:0)

您可以使用:

string decodedUrl = Uri.UnescapeDataString(url)

https://msdn.microsoft.com/en-us/library/system.uri.unescapedatastring(v=vs.110).aspx

像linqpad中的魅力一样工作

void Main()
{
    var url="http%3A%2F%2Feurocommunicator.ge%2Fgeo%2Fview_myth%2F229";
    string decodedUrl = Uri.UnescapeDataString(url);
    Console.WriteLine(decodedUrl);
}

答案 1 :(得分:0)

您可以尝试这样做:

Uri uri = new Uri("http://eurocommunicator.ge/geo/view_myth/229");

string link = "http%3A%2F%2Feurocommunicator.ge%2Fgeo%2Fview_myth%2F229"
Uri uri = new Uri(Server.UrlDecode(link));

答案 2 :(得分:0)

好的,我的失败HttpUtility.UrlDecode工作正常,我正在使用HtmlDecode代替它。我是多么愚蠢

相关问题