C# WebRequest.Create 锚点“#”字符问题
背景
在與后臺API接口對接時(shí),如將網(wǎng)頁Url作為參數(shù)請求數(shù)據(jù)時(shí),如果是錨點(diǎn)參數(shù),則會丟失。
錨點(diǎn)參數(shù)
請求通過WebRequest.Create創(chuàng)建一個(gè)WebRequest:
1 var uri = "https://id.test.xxx.com/api/v1/auth/sso/url?redirectUrl=https://test.xxx.com/extend/userhelp#120"; 2 var webRequest = WebRequest.Create(uri);得到的webRequest,發(fā)現(xiàn)后面的錨點(diǎn)參數(shù)沒有了。如下圖:
獲取的webRequest,Address和RequestUri中的Query參數(shù),不包含錨點(diǎn)參數(shù)“#120”
正常的查詢參數(shù)
我們換正常的查詢參數(shù),再試驗(yàn)如上步驟
通過WebRequest.Create創(chuàng)建一個(gè)WebRequest:
1 var uri = "https://id.test.xxx.com/api/v1/auth/sso/url?redirectUrl=https://test.xxx.com/extend/userhelp?id=120"; 2 var webRequest = WebRequest.Create(uri);得到的webRequest,查詢Address和RequestUri中的Query參數(shù)。如下圖:
后面的查詢參數(shù)"?id=120",數(shù)據(jù)正常。
總結(jié)
原因:WebRequest.Create方法中,錨點(diǎn)參數(shù)會在另一屬性中出現(xiàn),
?
如果有錨點(diǎn)參數(shù),并調(diào)用WebRequest.Create,臨時(shí)解決方案:
值得注意的是,生成Request后,請求服務(wù)器API接口,默認(rèn)后臺是不會處理錨點(diǎn)信息的。所以如果需要支持錨點(diǎn),需要API接口支持。
?
關(guān)鍵字:WebRequest.Create 錨點(diǎn)#參數(shù)丟失
轉(zhuǎn)載于:https://www.cnblogs.com/kybs0/p/9962003.html
總結(jié)
以上是生活随笔為你收集整理的C# WebRequest.Create 锚点“#”字符问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工厂方法 Factory Method
- 下一篇: C#知识点总结系列:3、C#中Deleg