gpt4 book ai didi

c# - 为 System.Net.HttpClient get 构建查询字符串

转载 作者:IT王子 更新时间:2023-10-29 03:31:26 25 4
gpt4 key购买 nike

如果我想使用 System.Net.HttpClient 提交一个 http get 请求,似乎没有 api 来添加参数,这是正确的吗?

是否有任何简单的 api 可用于构建不涉及构建名称值集合和对它们进行 url 编码然后最终连接它们的查询字符串?我希望使用 RestSharp 的 api 之类的东西(即 AddParameter(..))

最佳答案

If I wish to submit a http get request using System.Net.HttpClient there seems to be no api to add parameters, is this correct?

是的。

Is there any simple api available to build the query string that doesn't involve building a name value collection and url encoding those and then finally concatenating them?

当然:

var query = HttpUtility.ParseQueryString(string.Empty);
query["foo"] = "bar<>&-baz";
query["bar"] = "bazinga";
string queryString = query.ToString();

会给你预期的结果:

foo=bar%3c%3e%26-baz&bar=bazinga

您可能还会发现 UriBuilder 类很有用:

var builder = new UriBuilder("http://example.com");
builder.Port = -1;
var query = HttpUtility.ParseQueryString(builder.Query);
query["foo"] = "bar<>&-baz";
query["bar"] = "bazinga";
builder.Query = query.ToString();
string url = builder.ToString();

会给你预期的结果:

http://example.com/?foo=bar%3c%3e%26-baz&bar=bazinga

您可以安全地提供给您的 HttpClient.GetAsync 方法。

关于c# - 为 System.Net.HttpClient get 构建查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17096201/

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