TransWikia.com

Como montar um RestRequest com x-www-form-urlencoded no RestSharp C#

Stack Overflow em Português Asked on December 30, 2021

Sei fazer requisição utilizando o RestSharp quando o content-type = application/json, agora preciso fazer uma requisição application/x-www-form-urlencoded mas não consigo encontrar o modo correto de fazer isso, segue o um exemplo de como eu monto a requisiçãoapplication/json:

var request = new RestRequest(Method.POST);
request.Resource = "/search";
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json; charset=utf-8");
request.AddParameter("application/json", JsonConvert.SerializeObject(new { bucketId = bucketID, startFileName = fileName, maxFileCount = maxFileCount }), ParameterType.RequestBody);
request.AddHeader("Authorization", authorize_account.authorizationToken);

A forma como eu passo o body quando se trata de JSON é essa, como faço quando se trata de x-www-form-urlencoded?

2 Answers

Uma outra maneira que eu descobri fora a resposta do @LINQ é adicionar a url no parâmetro application/x-www-form-urlencoded escrevendo-a de forma manual :

var request = new RestRequest(Method.POST);

request.Resource = "/search";
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Accept-Version", "v1.0");
request.AddParameter("application/x-www-form-urlencoded", $"api_key={api.api_key}&access_key={api.access_key}&timestamp={api.timestamp}&nonce={api.nonce}&algo=sha1&q=woman&lang=en&page=0&limit=100", ParameterType.RequestBody); 

A diferença é a legibilidade, achei melhor utilizar o do @LINQ mesmo.

Answered by Leonardo Bonetti on December 30, 2021

É parecido.

Só precisa mudar o header e adicionar cada par chave-valor com o método AddParameter.

request.AddHeader("content-type", "application/x-www-form-urlencoded");

//...

request.AddParameter("nome", "valor");
request.AddParameter("1_nome", "1_valor");

Answered by Jéf Bueno on December 30, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP