Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 转换为URL编码_C#_.net_Regex_Vb.net - Fatal编程技术网

C# 转换为URL编码

C# 转换为URL编码,c#,.net,regex,vb.net,C#,.net,Regex,Vb.net,我不确定问题的主题是否恰当。问题是: 我正在阅读一个页面的内容,以获取对URL的引用。内容如下所示: <form method="get" action="/errors/validateCaptcha" name=""> <input type=hidden name="amzn" value="VGNBhB9ceCBo2YWErppFwA==" /><input type=hidden name="amzn-r"

我不确定问题的主题是否恰当。问题是:

我正在阅读一个页面的内容,以获取对URL的引用。内容如下所示:

<form method="get" action="/errors/validateCaptcha" name="">
                        <input type=hidden name="amzn" value="VGNBhB9ceCBo2YWErppFwA==" /><input type=hidden name="amzn-r" value="&#047;s&#047;ref&#061;nb_sb_noss?url&#061;search&#045;alias&#037;3Daps&amp;field&#045;keywords&#061;1573624098" /><input type=hidden name="amzn-pt" value="NoPageType" />

我正在尝试读取字段
amzn-r
。但是,正如您所看到的,它包含像
/
和#061,等等,它们转换为
%2F
%3D
。任何通过代码标准URL编码的方法都无法改变这一点,因为我猜它已经编码了。我正在使用.Net。

您可以使用System.Web library中提供的方法。 用法是传递字符串以解码值

因此,在你的情况下:
HttpUtility.HtmlDecode(/;s/;ref=;nb#sb#noss?url=;search-;别名%;3Daps&;字段-;关键字=;1573624098”)

收益率:

/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=1573624098

我想这就是你想要的。

要完成Arunster的答案,你需要同时使用
HtmlDecode()
UnescapeDataString()
将其转换为直接URL。您不需要通过
System.Web
命名空间调用它,因为这将要求您将System.Web引用包含到项目中,而默认情况下,桌面应用程序中不可用。相反,您可以使用以下备选方案:

string PlainURL = System.Uri.UnescapeDataString( System.Net.WebUtility.HtmlDecode("&#047;s&#047;ref&#061;nb_sb_noss?url&#061;search&#045;alias&#037;3Daps&amp;field&#045;keywords&#061;1573624098"))

谢谢,是的,这就是我要找的。