我使用.NET 4.7、MVC5、C#我從第 3 方端點收到一個查詢字符串,其中包含 # 而不是 ? IE:endpoint#code=123456&parm2=123....代替:endpoint?code=123456&parm2=123....我常用的代碼是:string[] codes = Request.Params.GetValues("code")或者string code = Request.QueryString["code"];不會處理這個問題。一直返回null。我無法讓第 3 方更改此設置,顯然它是 oauth2 規范的一部分,稱為“哈希片段”。是否可以獲取完整的返回 url 并通過字符串處理例程提取相關位?雖然我在調試器中看不到完整的 URL,但如果我讓端點完成,我會看到帶有 # 的完整查詢字符串以及瀏覽器的 URL 框。希望我能在代碼中得到這個來拼接。想法?
1 回答

肥皂起泡泡
TA貢獻1829條經驗 獲得超6個贊
根據RFC 2396 第 4 節,片段(#
符號后的所有內容)不會發送到服務器:
然而,從這樣的引用產生的“URI”僅包括刪除片段標識符(如果有)之后以及在任何相對URI被解析為其絕對形式之后的絕對URI。
無法在服務器端檢索它。
- 1 回答
- 0 關注
- 134 瀏覽
添加回答
舉報
0/150
提交
取消