«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Легко строить строки запросов для System.net.httpclient Get запросов

Легко строить строки запросов для System.net.httpclient Get запросов

Опубликовано в 2025-03-13
Просматривать:517

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

system.net.httpclient Query Метод строительства строки для GET запрос

]]

вопрос:

System.net.httpclient не имеет API для непосредственного добавления параметров GET запроса. Есть ли более простой способ создать строку запроса без вручную создавать коллекцию имен-значения, кодирование URL и соединение?

]

Отвечать:

некоторый. Легко строить строки запроса без ручной работы:

]
// 解析空查询字符串
var query = HttpUtility.ParseQueryString(string.Empty);

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

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

это генерирует следующую строку запроса:

]
foo=bar&-baz&bar=bazinga
]]

или, использование класса Uribuilder предоставляет более полное решение:

// 为目标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();

Этот метод генерирует следующий URL:

]
http://example.com/?foo=bar&-baz&bar=bazinga
]]

вы можете плавно интегрировать этот URL в метод getAsync system.net.httpclient для выполнения запросов GET с необходимыми параметрами запроса.

]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3