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 ?

Comment puis-je créer facilement des chaînes de requête pour les requêtes GET System.Net.HttpClient ?

Patricia Arquette
Libérer: 2025-01-09 09:41:42
original
414 Les gens l'ont consulté

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

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>
Copier après la connexion

Cela générera la chaîne de requête suivante :

<code>foo=bar%3c%3e%26-baz&bar=bazinga</code>
Copier après la connexion

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>
Copier après la connexion

Cette méthode génère l'URL suivante :

<code>http://example.com/?foo=bar%3c%3e%26-baz&bar=bazinga</code>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal