ホームページ > バックエンド開発 > C++ > System.Net.HttpClient GET リクエストのクエリ文字列を効率的に構築する方法

System.Net.HttpClient GET リクエストのクエリ文字列を効率的に構築する方法

Patricia Arquette
リリース: 2025-01-09 09:36:41
オリジナル
132 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート