Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
1250
Assunto : .NET
Titulo: Montando a querystring de uma Url

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon


Quando consumimos API's rest é frequente a necessidade de montar uma querystring com os parâmetros para uma chamada GET. Essa montagem requer uma concatenação cuidadosa, não apenas com os nomes dos parâmetros, sinal de "=", valores e separadores ("&"), mas também formatando todos os caracteres reservados para a simbologia aceita em url's, o que é normalmente chamado de Url Encode.

Para nos ajudar com isso, a classe HttpUtility, localizada no namespace System.Web, possui um método chamado ParseQueryString. Esse método devolve uma HttpValueCollection, uma classe filha de NameValueCollection que podemos utilizar para montar cada um dos parâmetros da querystring e em seguida gera-la por inteiro.

Veja como fica o código para isso:

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

O resultado será o seguinte:

foo=bar%3c%3e%26-baz&bar=bazinga

Por fim podemos utilizar também a classe UriBuilder para fazer a montagem da URL, acrescentando a querystring:

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();

O resultado será o seguinte:

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


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br