简化 System.Net.HttpClient GET 请求的查询字符串创建
System.Net.HttpClient 缺乏直接向 GET 请求添加查询字符串参数的内置方法。 然而,使用现成的 .NET 工具可以实现高效的查询字符串构造,从而消除手动 URL 编码和连接。
HttpUtility.ParseQueryString
方法提供了一个简单的解决方案。 它创建一个 NameValueCollection
允许您添加键值对。 ToString()
方法自动处理 URL 编码:
<code class="language-csharp">var query = HttpUtility.ParseQueryString(string.Empty); query["foo"] = "bar&-baz"; query["bar"] = "bazinga"; string queryString = query.ToString(); // Output: foo=bar%253c%253e%2526-baz&bar=bazinga</code>
要获得更全面的方法,请使用 UriBuilder
类来构造整个 URL:
<code class="language-csharp">var builder = new UriBuilder("http://example.com"); builder.Port = -1; //optional, remove if port is needed var query = HttpUtility.ParseQueryString(builder.Query); query["foo"] = "bar&-baz"; query["bar"] = "bazinga"; builder.Query = query.ToString(); string url = builder.ToString(); // Output: http://example.com/?foo=bar%253c%253e%2526-baz&bar=bazinga</code>
这两种方法都可以有效管理 URL 编码,简化为 System.Net.HttpClient
GET 请求创建格式正确的查询字符串的过程。这会带来更干净、更易于维护的代码。
以上是如何高效地构造 System.Net.HttpClient GET 请求的查询字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!