JornWildt / Ramone

A C# client framework for consuming HTTP/REST services
Other
61 stars 11 forks source link

How post key value #26

Closed alessandrosilva closed 7 years ago

alessandrosilva commented 9 years ago

In cURL i send key value via post request, how i can send this request on asp.net?

curl -v "http://sandbox.boletocloud.com/api/v1/boletos" \ -H "Content-Type: application/x-www-form-urlencoded; charset=utf-8" \ -X "POST" \ -u "api-key_vJxqRj_8ZIu7850rCC3R-lDRcedJ40l4KuMlLH-Kjxs=:token" \ -d boleto.conta.banco="237" \ -d boleto.conta.agencia="1234-5" \ -d boleto.conta.numero="123456-0" \ -d boleto.conta.carteira="12" \ -d boleto.beneficiario.nome="DevAware Solutions" \ -d boleto.beneficiario.cprf="15.719.277/0001-46" \ -d boleto.beneficiario.endereco.cep="59020-000" \ -d boleto.beneficiario.endereco.uf="RN" \ -d boleto.beneficiario.endereco.localidade="Natal" \ -d boleto.beneficiario.endereco.bairro="Petrópolis" \ -d boleto.beneficiario.endereco.logradouro="Avenida Hermes da Fonseca" \ -d boleto.beneficiario.endereco.numero="384" \ -d boleto.beneficiario.endereco.complemento="Sala 2A, segundo andar" \ -d boleto.emissao="2014-07-11" \ -d boleto.vencimento="2020-05-30" \ -d boleto.documento="EX1" \ -d boleto.numero="12345678901-P" \ -d boleto.titulo="DM" \ -d boleto.valor="1250.43" \ -d boleto.pagador.nome="Alberto Santos Dumont" \ -d boleto.pagador.cprf="111.111.111-11" \ -d boleto.pagador.endereco.cep="36240-000" \ -d boleto.pagador.endereco.uf="MG" \ -d boleto.pagador.endereco.localidade="Santos Dumont" \ -d boleto.pagador.endereco.bairro="Casa Natal" \ -d boleto.pagador.endereco.logradouro="BR-499" \ -d boleto.pagador.endereco.numero="s/n" \ -d boleto.pagador.endereco.complemento="Sítio - Subindo a serra da Mantiqueira" \ -d boleto.instrucao="Atenção! NÃO RECEBER ESTE BOLETO." \ -d boleto.instrucao="Este é apenas um teste utilizando a API Boleto Cloud" \ -d boleto.instrucao="Mais info em http://www.boletocloud.com/app/dev/api" \ -o arquivo-api-boleto-post-teste.pdf

JornWildt commented 9 years ago

I think this is what you want. Make sure you change your API keys afterwards since they are now public on GitHub!

using Ramone;
using System.Collections.Generic;

namespace RamoneTest
{
  class Program
  {
    static void Main()
    {
      // Setup up a session for storing things like authentication
      ISession session = RamoneConfiguration.NewSession();

      // Setup basic authentication
      session.BasicAuthentication("api-key_vJxqRj_8ZIu7850rCC3R-lDRcedJ40l4KuMlLH-Kjxs=", "token");

      // Build arguments
      var args = new Dictionary<string,string>();
      args["boleto.conta.banco"] = "237";
      args["boleto.conta.numero"] = "123456-0";
      args["boleto.conta.numero"] = "123456-0";
      /// ... and so on ...
      args["boleto.instrucao="] = "Mais info em http://www.boletocloud.com/app/dev/api";

      // Build request and configure for form-url-encoded POST
      Request rq = session.Bind("http://sandbox.boletocloud.com/api/v1/boletos")
                          .AsFormUrlEncoded();

      // POST arguments as form-url-encoded body
      using (Response rs = rq.Post(args))
      {
        // Save response body to a file
        rs.SaveToFile("C:\\temp\\arquivo-api-boleto-post-teste.pdf");
      }
    }
  }
}