为 System.Net.HttpClient GET 请求制作查询字符串
System.Net.HttpClient 的 GET 请求缺乏直接添加参数的方法,但构造查询字符串很简单。 这里有两种有效的方法:
首先,利用 HttpUtility.ParseQueryString
避免手动构建名称-值对:
<code class="language-csharp">var query = HttpUtility.ParseQueryString(string.Empty); query["foo"] = "bar&-baz"; query["bar"] = "bazinga"; string queryString = query.ToString();</code>
这会产生:
<code>foo=bar%3c%3e%26-baz&bar=bazinga</code>
或者,使用 UriBuilder
类进行完整的 URI 自定义:
<code class="language-csharp">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();</code>
结果:
<code>http://example.com/?foo=bar%3c%3e%26-baz&bar=bazinga</code>
HttpUtility.ParseQueryString
和 UriBuilder
都提供了干净、高效的解决方案,用于在 System.Net.HttpClient GET 请求中构建查询字符串。
以上是如何高效地构建 System.Net.HttpClient GET 请求的查询字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!