ホームページ >バックエンド開発 >C++ >System.Net.HttpClient GET リクエストのクエリ文字列を簡単に作成するにはどうすればよいですか?

System.Net.HttpClient GET リクエストのクエリ文字列を簡単に作成するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-09 09:41:42417ブラウズ

How Can I Easily Build Query Strings for System.Net.HttpClient GET Requests?

System.Net.HttpClient GET リクエストのクエリ文字列構築メソッド

質問:

System.Net.HttpClient には、GET リクエスト パラメーターを直接追加するための API がありません。名前と値のコレクション、URL エンコード、連結を手動で作成せずに、クエリ文字列を構築する簡単な方法はありますか?

答え:

はい。手作業なしでクエリ文字列を簡単に作成できます:

<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 クラスを利用すると、より包括的なソリューションが提供されます。

<code class="language-csharp">// 为目标URL创建一个UriBuilder
var builder = new UriBuilder("http://example.com");
builder.Port = -1;

// 解析查询字符串
var query = HttpUtility.ParseQueryString(builder.Query);

// 添加参数
query["foo"] = "bar&-baz";
query["bar"] = "bazinga";

// 更新UriBuilder的查询字符串
builder.Query = query.ToString();

// 获取完整的URL
string url = builder.ToString();</code>

このメソッドは次の URL を生成します:

<code>http://example.com/?foo=bar%3c%3e%26-baz&bar=bazinga</code>

この URL を System.Net.HttpClient の GetAsync メソッドにシームレスに統合して、必要なクエリ パラメーターを使用して GET リクエストを実行できます。

以上がSystem.Net.HttpClient GET リクエストのクエリ文字列を簡単に作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。