Heim >Backend-Entwicklung >C++ >Wie kann ich ganz einfach Abfragezeichenfolgen für System.Net.HttpClient-GET-Anfragen erstellen?

Wie kann ich ganz einfach Abfragezeichenfolgen für System.Net.HttpClient-GET-Anfragen erstellen?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-09 09:41:42415Durchsuche

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

Abfragezeichenfolge-Konstruktionsmethode für System.Net.HttpClient-GET-Anfrage

Frage:

System.Net.HttpClient verfügt nicht über eine API zum direkten Hinzufügen von GET-Anfrageparametern. Gibt es eine einfachere Möglichkeit, Abfragezeichenfolgen zu erstellen, ohne manuell Name-Wert-Sammlungen, URL-Codierung und Verkettung zu erstellen?

Antwort:

Ja. Erstellen Sie ganz einfach Abfragezeichenfolgen ohne manuellen Aufwand:

<code class="language-csharp">// 解析空查询字符串
var query = HttpUtility.ParseQueryString(string.Empty);

// 添加参数
query["foo"] = "bar&-baz";
query["bar"] = "bazinga";

// 将查询转换为字符串
string queryString = query.ToString();</code>

Dadurch wird die folgende Abfragezeichenfolge generiert:

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

Alternativ bietet die Verwendung der UriBuilder-Klasse eine umfassendere Lösung:

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

Diese Methode generiert die folgende URL:

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

Sie können diese URL nahtlos in die GetAsync-Methode von System.Net.HttpClient integrieren, um eine GET-Anfrage mit den erforderlichen Abfrageparametern durchzuführen.

Das obige ist der detaillierte Inhalt vonWie kann ich ganz einfach Abfragezeichenfolgen für System.Net.HttpClient-GET-Anfragen erstellen?. 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