Heim >Backend-Entwicklung >C++ >Wie erstellt man effizient Abfragezeichenfolgen für System.Net.HttpClient-GET-Anfragen?

Wie erstellt man effizient Abfragezeichenfolgen für System.Net.HttpClient-GET-Anfragen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-09 09:56:43904Durchsuche

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

Erstellen von Abfragezeichenfolgen für System.Net.HttpClient-GET-Anfragen

Den GET-Anfragen von System.Net.HttpClient fehlt eine direkte Methode zum Hinzufügen von Parametern, aber das Erstellen von Abfragezeichenfolgen ist unkompliziert. Hier sind zwei effiziente Ansätze:

Erstens nutzen Sie HttpUtility.ParseQueryString, um die manuelle Erstellung von Name-Wert-Paaren zu vermeiden:

<code class="language-csharp">var query = HttpUtility.ParseQueryString(string.Empty);
query["foo"] = "bar&-baz";
query["bar"] = "bazinga";
string queryString = query.ToString();</code>

Das ergibt:

<code>foo=bar%3c%3e%26-baz&bar=bazinga</code>

Alternativ können Sie die Klasse UriBuilder für eine vollständige URI-Anpassung verwenden:

<code class="language-csharp">var builder = new UriBuilder("http://example.com");
builder.Port = -1;
var query = HttpUtility.ParseQueryString(builder.Query);
query["foo"] = "bar&-baz";
query["bar"] = "bazinga";
builder.Query = query.ToString();
string url = builder.ToString();</code>

Ergebnis:

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

Sowohl HttpUtility.ParseQueryString als auch UriBuilder bieten saubere, effiziente Lösungen zum Erstellen von Abfragezeichenfolgen in System.Net.HttpClient-GET-Anfragen.

Das obige ist der detaillierte Inhalt vonWie erstellt man effizient Abfragezeichenfolgen für System.Net.HttpClient-GET-Anfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn