C# WebRequest.Create 锚点“#”字符问题
背景
在與后臺API接口對接時,如將網(wǎng)頁Url作為參數(shù)請求數(shù)據(jù)時,如果是錨點參數(shù),則會丟失。
錨點參數(shù)
請求通過WebRequest.Create創(chuàng)建一個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)后面的錨點參數(shù)沒有了。如下圖:
獲取的webRequest,Address和RequestUri中的Query參數(shù),不包含錨點參數(shù)“#120”
正常的查詢參數(shù)
我們換正常的查詢參數(shù),再試驗如上步驟
通過WebRequest.Create創(chuàng)建一個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方法中,錨點參數(shù)會在另一屬性中出現(xiàn),
?
如果有錨點參數(shù),并調(diào)用WebRequest.Create,臨時解決方案:
值得注意的是,生成Request后,請求服務(wù)器API接口,默認后臺是不會處理錨點信息的。所以如果需要支持錨點,需要API接口支持。
?
關(guān)鍵字:WebRequest.Create 錨點#參數(shù)丟失
轉(zhuǎn)載于:https://www.cnblogs.com/kybs0/p/9962003.html
總結(jié)
以上是生活随笔為你收集整理的C# WebRequest.Create 锚点“#”字符问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工厂方法 Factory Method
- 下一篇: 如何正确的检测对象类型?