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

肥皂起泡泡
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊
根據(jù)RFC 2396 第 4 節(jié),片段(#
符號(hào)后的所有內(nèi)容)不會(huì)發(fā)送到服務(wù)器:
然而,從這樣的引用產(chǎn)生的“URI”僅包括刪除片段標(biāo)識(shí)符(如果有)之后以及在任何相對(duì)URI被解析為其絕對(duì)形式之后的絕對(duì)URI。
無法在服務(wù)器端檢索它。
- 1 回答
- 0 關(guān)注
- 151 瀏覽
添加回答
舉報(bào)
0/150
提交
取消