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