Heim >Backend-Entwicklung >C++ >Wie kann ich ganz einfach Abfragezeichenfolgen für System.Net.HttpClient-GET-Anfragen erstellen?
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!