簡體   English   中英

從可能是相對的URL獲取查詢字符串

[英]Get query string from URL that may be relative

作為自定義登錄頁面的一部分,我試圖獲取URL字符串的querystring部分,該URL字符串可以表示絕對URL或相對URL。 如果它是絕對URL,則可以使用Uri.Query屬性,但是相對URL不支持此屬性。

它像從子字符串的第一個實例開始一樣簡單嗎? 還是URL可能在查詢字符串之前包含問號? 還是查詢字符串后面可以有其他文本?

returnUrl.Substring(returnUrl.IndexOf('?'))

其中returnUrl可以是絕對的: "http://www.example.com/anydir/any-page1?param=1"或相對的: "/anydir/any-page?param=1"

URL中只有第一個問號才有意義,以指示查詢字符串的開頭。 之后的任何字符均視為文字問號。

參見RFC 3986 3.43.3

它確實指出:

允許使用斜線(“ /”)和問號(“?”)
表示片段標識符中的數據。 當心一些
較舊的錯誤實現可能無法正確處理此數據
當用作相對引用的基本URI時

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM