gpt4 book ai didi

c# - .NET Uri 类查询缺少分号保留字符,简单的解决方法?

转载 作者:太空宇宙 更新时间:2023-11-03 14:25:02 28 4
gpt4 key购买 nike

https://msdn.microsoft.com/en-us/library/system.uri.query.aspx还有这个https://ietf.org/rfc/rfc1738.txt建议 .Net Uri 类不将分号识别为可接受的字符来表示 URL 中的查询。

这只需要一行左右的解决方法,但我喜欢我的代码干净。如果有一个解决方案允许我不在 .Net 的 Uri 类集之外进行字符串解析,我会更愿意这样做。是否有任何现有的 .Net 代码可以处理分号以将它们识别为 URL 中查询的一部分?

最佳答案

RFC 3986 同意 RFC 1738(它更新)将查询定义为问号 (?) 之后的部分,并声明分号可用于分隔参数值对“适用于该段”。

在 prospero URI(RFC 1738 中给出的唯一使用分号的情况)中,分号指示 URI 路径中的参数和参数值 - 而不是查询。

HTTP URI 确实在其查询中使用了分号,但仅在 ? 之后,例如http://example.net/search?q=something;page=2。不幸的是,实际使用从未完全取代此函数的 & 字符,服务器端代码(包括 ASP.NET)对它的支持很差,这限制了客户端代码采用它的能力(漂亮很多浏览器都没有)。

不过,在这种情况下,.NET Uri 对象仅正确地将 ? 后面的部分识别为查询,包括分号(如果存在)。它的行为是正确的。

关于c# - .NET Uri 类查询缺少分号保留字符,简单的解决方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4320350/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com