"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Crie facilmente métodos de string de consulta para system.net.httpclient solicitações

Crie facilmente métodos de string de consulta para system.net.httpclient solicitações

Postado em 2025-03-13
Navegar:509

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

System.net.httpclient String Method para get request

]

pergunta:

System.net.httpclient não possui uma API para adicionar diretamente parâmetros de solicitação GET. Existe uma maneira mais fácil de construir uma sequência de consultas sem criar manualmente uma coleção de nomes de valor, codificação de URL e conexão?

Responder:

alguns. Crie facilmente strings de consulta sem operação manual:

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

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

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

Isso gerará a seguinte sequência de consulta:

foo=bar&-baz&bar=bazinga
]

ou, alavancar a classe Uribuilder fornece uma solução mais abrangente:

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

Este método gera o seguinte URL:

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

Você pode integrar perfeitamente este URL ao método getasync do System.net.httpClient para executar solicitações GET com os parâmetros de consulta necessários.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3