我想从相对URI中提取查询字符串和片段,即没有任何方案或主机信息的URI。
有没有比把它变成一个带有假主机名的绝对URI更优雅的方法呢?
var relativeUri = "/dir1/dir2/file?a=b&c=d#fragment";
var uri = new Uri(new Uri("http://example.com"), relativeUri);
var path = Uri.UnescapeDataString(String.Concat(uri.Segments));
var query = uri.Query;
var fragment = uri.Fragment;
// path = "/dir1/dir2/file", query = "?a=b&c=d", fragment = "#fragment"
发布于 2018-02-06 04:09:23
遇到这个问题时,我发现HttpUtility.ParseQueryString
实际上只查找字符串和'?‘之后的任何内容。
因此,我必须在这两种情况下(相对和绝对)使用它,我发现以下方法似乎工作得很好
HttpUtility.ParseQueryString(url.Split('?').Last())
https://stackoverflow.com/questions/13565069
复制相似问题