0

我的网址是

www.domainname.com/default.aspx?l=en&t=32600483-1618-4f09-9a86-c12de4dafc7b

我很想阅读 QueryString 的值t。所以我可以将其解析为 GUID。

不幸的是,这&件事似乎把事情搞砸了。

如何解析t查询字符串的值?

4

1 回答 1

3

我的网址是

我希望您意识到这不是一个有效的 URL。这是一个 HTML 编码的字符串。不要与 URL 混淆。URL 应该是正确的 URL 编码,而不是 HTML 编码。而且由于您从无效的内容开始,您唯一的机会是使用一些丑陋的字符串解析/正则表达式来提取必要的信息。由于这看起来像一个 HTML 编码的字符串,您可以先对其进行 HTML 解码:

var myUrl = "http://www.domainname.com/default.aspx?l=en&t=32600483-1618-4f09-9a86-c12de4dafc7b";
myUrl = HttpUtility.HtmlDecode(myUrl);
var values = HttpUtility.ParseQueryString(myUrl);
var t = values["t"];

但我再次重申:不要这样做:从根本上解决问题。你的问题的根源是这个 URL 的来源。因此,如果您可以控制此 URL 的生成,请对其进行修复,以便您可以拥有一个可以轻松使用内置方法的有效 URL。如果您无法控制 URL 的生成,请通知代码作者他有一个错误并要求他修复它,因为他为您提供了一个未正确编码的 URL,您有义务使用一些丑陋的字符串解析机制来从中提取信息。

于 2012-06-24T19:15:47.833 回答