Maison >développement back-end >C++ >Comment construire efficacement des chaînes de requête pour les requêtes System.Net.HttpClient GET ?

Comment construire efficacement des chaînes de requête pour les requêtes System.Net.HttpClient GET ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-09 09:36:41133parcourir

How to Efficiently Construct Query Strings for System.Net.HttpClient GET Requests?

Rationalisation de la création de chaînes de requête pour les requêtes System.Net.HttpClient GET

System.Net.HttpClient ne dispose pas d'une méthode intégrée pour ajouter directement des paramètres de chaîne de requête aux requêtes GET. Cependant, une construction efficace de chaînes de requête est réalisable à l'aide d'outils .NET facilement disponibles, éliminant ainsi le codage et la concaténation manuels des URL.

La méthode HttpUtility.ParseQueryString apporte une solution simple. Il crée un NameValueCollection vous permettant d'ajouter des paires clé-valeur. La méthode ToString() gère automatiquement l'encodage des 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>

Pour une approche plus complète, utilisez la classe UriBuilder pour construire l'URL entière :

<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>

Les deux méthodes gèrent efficacement le codage des URL, simplifiant ainsi le processus de création de chaînes de requête correctement formatées pour vos System.Net.HttpClient requêtes GET. Cela conduit à un code plus propre et plus maintenable.

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!

Déclaration:
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