none
Post com C# RRS feed

  • Pergunta

  • Pessoal, boa tarde!

      Atualmente para fazer um projeto integrando minha página a locaweb utilizo o seguinte cod:

     
                    var defaultParameters =
                        {
                            "token": "b30c04e1-450d-4537-88de-b00df7853891",
                            "transacao": {
                                "url_retorno": "http://www.minha-loja.com.br/confirmacao-pedido.php?pedido=12345",
                                "capturar": "true",
                                "pedido": {
                                    "numero": "1234567",
                                    "total": "1.00",
                                    "moeda": "real",
                                    "descricao": "Carrinho de Compras"
                                },
                                "pagamento": {
                                    "bandeira": "visa",
                                    "meio_pagamento": "cielo",
                                    "parcelas": "1",
                                    "tipo_operacao": "credito_a_vista"
                                },
                                "comprador": {
                                    "nome": "Bruna da Silva",
                                    "documento": "12345678900",
                                    "endereco": "Rua da Casa",
                                    "complemento": "Ap 82",
                                    "numero": "1",
                                    "cep": "09710240",
                                    "bairro": "Centro",
                                    "cidade": "São Paulo",
                                    "estado": "SP"
                                }
                            }
                        };
    
    			        try {
    			            $.ajax({
    			                type: "POST",
    			                url: "https://api-sandbox.gatewaylocaweb.com.br/v1/transacao",
    			                data: defaultParameters,
    			                dataType: "json",            	                
    			            });
    			        } catch (alert) { alert('Error')};
    ok.. super simples, porém eles bloqueiam  e eu só posso enviar via Aspnet, como eu poderia fazer um post seguindo esta logica, porém em C#?

    Douglas Bertelli

    segunda-feira, 12 de novembro de 2012 18:35

Todas as Respostas

  • Um dos pontos chaves do ajax é q ele deve ser feito no mesmo site. Ou seja, você não pode usa-lo para requisitar outra url que não a sua atual.

    Mais outro ponto para vc não utilizar esta solução é que o usuário terá acesso ao seu token. E poderá usado para gerar informações falsas.

    Faça essa implementação direto no codebehind assim:

    HttpWebRequest httpWReq =
        (HttpWebRequest)WebRequest.Create("http:\\domain.com\page.asp");
    
    ASCIIEncoding encoding = new ASCIIEncoding();
    string postData = "username=user";
    postData += "&password=pass";
    byte[] data = encoding.GetBytes(postData);
    
    httpWReq.Method = "POST";
    httpWReq.ContentType = "application/x-www-form-urlencoded";
    httpWReq.ContentLength = data.Length;
    
    using (Stream newStream = httpWReq.GetRequestStream())
    {
        newStream.Write(data,0,data.Length);
    }
    

    Copiei e colei o exemplo daqui: http://stackoverflow.com/questions/4015324/http-request-with-post


    http://samuelcazelli.blogspot.com/

    segunda-feira, 12 de novembro de 2012 20:58
  • Oi Samuel, bom dia!  Isto não funcionou não man..  Alias nem entendi em q local está enviando os dados nesse script.

    Douglas Bertelli

    terça-feira, 13 de novembro de 2012 12:09
  • Pessoal, alguém por favor sabe dar um post via C#? não posso utilizar ajax =\ ..

    Douglas Bertelli

    terça-feira, 13 de novembro de 2012 13:07