如何从HttpGET请求查询字符串中获取某个部分

时间:2018-04-04 11:23:50

标签: c# asp.net .net asp.net-web-api2 http-get

我需要从GET请求查询字符串中获取某个部分。例如,如果查询字符串是:

action=balance&id=123&session_id=123&key=3843

我想将其转换为

action=balance&id=123&session_id=123

即。我想切断key参数部分。我怎么能这样做?

6 个答案:

答案 0 :(得分:0)

经过短暂的谷歌搜索,我在这里找到答案:https://www.codeproject.com/Tips/574956/How-to-get-URL-and-QueryString-value-in-an-ASP-NET

简而言之,您可以使用以下方法检索您要查找的内容:

Request.ServerVariables("QUERY_STRING")

答案 1 :(得分:0)

以您选择的语言使用子字符串函数

例如。在javascript中你可以做到

 var f = "action=balance&id=123&session_id=123&key=3843";

 var a = f.replace(f.substring(f.indexOf('&key')),"");

还有很多其他方法。

答案 2 :(得分:0)

尝试

Regex.Replace(Request.RawUrl, @"&key.*", "")

答案 3 :(得分:0)

string qs = Request.params;

这将返回当前所有参数的集合

答案 4 :(得分:0)

获取char的最后一个索引'&'。然后获取子字符串。

string url = Request.params; 

int index = url.LastIndexOf('&');

var urlWithOutKey = url.Substring(0, index);

答案 5 :(得分:0)

我已经调查了一点,找出了这个解决方案

        string url = Request.RequestUri.ToString();
        Uri uri = new Uri(url);
        string urlStringQuery = uri.Query;
        int endIndex = urlStringQuery.IndexOf("&key", 1);
        string query = urlStringQuery.Substring(1, endIndex - 1);