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 中国語 Web サイトの他の関連記事を参照してください。