首頁 >後端開發 >C++ >如何有效率地建構 System.Net.HttpClient GET 請求的查詢字串?

如何有效率地建構 System.Net.HttpClient GET 請求的查詢字串?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-09 09:56:43907瀏覽

How to Efficiently Build Query Strings for System.Net.HttpClient GET Requests?

為 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.ParseQueryStringUriBuilder 都提供了乾淨、高效的解決方案,用於在 System.Net.HttpClient GET 請求中建立查詢字串。

以上是如何有效率地建構 System.Net.HttpClient GET 請求的查詢字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn