gpt4 book ai didi

c# - 将值附加到查询字符串

转载 作者:IT王子 更新时间:2023-10-29 03:32:36 24 4
gpt4 key购买 nike

我有一组类似于下面列表中的 URL

  • http://somesite.example/backup/lol.php?id=1&server=4&location=us
  • http://somesite.example/news.php?article=1&lang=en

我已经设法使用以下代码获取查询字符串:

myurl = longurl.Split('?');
NameValueCollection qs = HttpUtility.ParseQueryString(myurl [1]);

foreach (string lol in qs)
{
// results will return
}

但是它只返回像这样的参数idserverlocation 等基于提供的 URL。

我需要的是向现有查询字符串添加/附加值。

例如 URL:

http://somesite.example/backup/index.php?action=login&attempts=1

我需要更改查询字符串参数的值:

action=login1

attempts=11

如您所见,我为每个值附加了“1”。我需要从一个字符串中获取一组 URL,其中包含不同的查询字符串,并在末尾为每个参数添加一个值,然后再次将它们添加到列表中。

最佳答案

您可以使用 HttpUtility.ParseQueryString方法和 UriBuilder它提供了一种很好的方式来处理查询字符串参数,而无需担心解析、URL 编码等问题......:

string longurl = "http://somesite.example/news.php?article=1&lang=en";
var uriBuilder = new UriBuilder(longurl);
var query = HttpUtility.ParseQueryString(uriBuilder.Query);
query["action"] = "login1";
query["attempts"] = "11";
uriBuilder.Query = query.ToString();
longurl = uriBuilder.ToString();
// "http://somesite.example:80/news.php?article=1&lang=en&action=login1&attempts=11"

关于c# - 将值附加到查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14517798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com