当 # 提供而不是时,如何在 C# 中分离查询字符串?
How to pull apart a querystring in C# when # provided instead of?
我使用 .NET 4.7、MVC5、C#
我收到来自第 3 方端点的查询字符串,其中包含 # 而不是 ?即:
endpoint#code=123456&parm2=123....
而不是:
endpoint?code=123456&parm2=123....
我常用的密码为:
string[] codes = Request.Params.GetValues("code")
或
string code = Request.QueryString["code"];
不会处理这个。一直返回 null。我无法让第 3 方更改此设置,显然它是 oauth2 规范的一部分,称为 "hash fragment"。
是否有可能获得完整的返回值 url 并通过字符串处理例程提取相关位?
虽然我在调试器中看不到完整的 URL,但如果我让端点完成,我会在浏览器的 URL 框中看到带有 # 的完整查询字符串。希望我能在代码中得到这个来拼接。
想法?
提前致谢。
片段(#
符号后的所有内容)未根据 RFC 2396, section 4:
发送到服务器
However, "the URI" that results from such a
reference includes only the absolute URI after the fragment
identifier (if any) is removed and after any relative URI is resolved
to its absolute form.
无法在服务器端检索它。
我使用 .NET 4.7、MVC5、C#
我收到来自第 3 方端点的查询字符串,其中包含 # 而不是 ?即:
endpoint#code=123456&parm2=123....
而不是:
endpoint?code=123456&parm2=123....
我常用的密码为:
string[] codes = Request.Params.GetValues("code")
或
string code = Request.QueryString["code"];
不会处理这个。一直返回 null。我无法让第 3 方更改此设置,显然它是 oauth2 规范的一部分,称为 "hash fragment"。
是否有可能获得完整的返回值 url 并通过字符串处理例程提取相关位?
虽然我在调试器中看不到完整的 URL,但如果我让端点完成,我会在浏览器的 URL 框中看到带有 # 的完整查询字符串。希望我能在代码中得到这个来拼接。
想法?
提前致谢。
片段(#
符号后的所有内容)未根据 RFC 2396, section 4:
However, "the URI" that results from such a reference includes only the absolute URI after the fragment identifier (if any) is removed and after any relative URI is resolved to its absolute form.
无法在服务器端检索它。