我有一个变量
string rawURL = HttpContext.Current.Request.RawUrl;
如何读取此 url 的查询字符串参数?
我有一个变量
string rawURL = HttpContext.Current.Request.RawUrl;
如何读取此 url 的查询字符串参数?
这可能就是你所追求的
Uri theRealURL = new Uri(HttpContext.Current.Request.Url.Scheme + "://" + HttpContext.Current.Request.Url.Authority + HttpContext.Current.Request.RawUrl);
string yourValue= HttpUtility.ParseQueryString(theRealURL.Query).Get("yourParm");
无需通过RawUrl
-Request
对象已经包含一个解析的版本,使用该Request.QueryString
属性。
这是一个索引NameValueCollection
。
试试这个:
string rawURL = HttpContext.Current.Request.ServerVariables["query_string"];
Request 对象上有 Params 属性,可让您轻松完成。您不必自己解析它。
在 .NET Core 中有多种访问方式,HttpContext
例如IHttpContextAccessor
.
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/http-context?view=aspnetcore-5.0
当你有上下文时,你可以简单地使用这个方法:
httpContext.Request.QueryString.Value
用法:
网址:https://localhost:44335/test?key=123
var key = System.Web.HttpUtility.ParseQueryString(httpContext.Request.QueryString.Value).Get("key");
这将解决你的问题......
string strReq = "";
strReq = HttpContext.Current.Request.RawUrl;
strReq = strReq.Substring(strReq.IndexOf('?') + 1);