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

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

Patricia Arquette
發布: 2025-01-09 09:36:41
原創
130 人瀏覽過

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

簡化 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板