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