Maison >développement back-end >C++ >Comment puis-je créer facilement des chaînes de requête pour les requêtes GET System.Net.HttpClient ?
Méthode de construction de chaîne de requête pour la requête System.Net.HttpClient GET
Question :
System.Net.HttpClient ne dispose pas d'API pour ajouter directement les paramètres de requête GET. Existe-t-il un moyen plus simple de créer des chaînes de requête sans créer manuellement des collections nom-valeur, un codage d'URL et une concaténation ?
Réponse :
Oui. Créez facilement des chaînes de requête sans effort manuel :
<code class="language-csharp">// 解析空查询字符串 var query = HttpUtility.ParseQueryString(string.Empty); // 添加参数 query["foo"] = "bar&-baz"; query["bar"] = "bazinga"; // 将查询转换为字符串 string queryString = query.ToString();</code>
Cela générera la chaîne de requête suivante :
<code>foo=bar%3c%3e%26-baz&bar=bazinga</code>
Alternativement, l'utilisation de la classe UriBuilder fournit une solution plus complète :
<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>
Cette méthode génère l'URL suivante :
<code>http://example.com/?foo=bar%3c%3e%26-baz&bar=bazinga</code>
Vous pouvez intégrer de manière transparente cette URL dans la méthode GetAsync de System.Net.HttpClient pour effectuer une requête GET avec les paramètres de requête requis.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!