post com CURL com campo com uma /
Estou sofrendo com uma requisição curl aqui.
Este é o xml que esta dentro da variavel $xml mais abaixo.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<requisicao-transacao id="a97ab62a-7956-41ea-b03f-c2e9f612c293" versao="1.2.1">
<dados-ec>
<numero>45123123</numero>
<chave>c45132sad12a1saetcetcetc</chave>
</dados-ec>
<dados-portador>
<token>/9piygD160u1i/ef45tul4s4wmjhgbeds521s=</token>
</dados-portador>
<dados-pedido>
<numero>2025</numero>
<valor>100</valor>
<moeda>986</moeda>
<data-hora>2014-05-30T20:51:55</data-hora>
</dados-pedido>
<forma-pagamento>
<bandeira>mastercard</bandeira>
<produto>1</produto>
<parcelas>1</parcelas>
</forma-pagamento>
<url-retorno>[https://www.site.com/clientes/retorno.php](https://www.site.com/clientes/retorno.php)
<autorizar>4</autorizar>
<capturar>false</capturar>
</requisicao-transacao>
faço a requisição enviando o xml dentro da variavel $xml, quando o paramêtro <token> do xml acima não contém caracteres especiais, no exemplo, a / ele envia certinho, mas quando esta com a / dentro do token, volta a informação de que o token esta incorreto, mas, esta correto, o problema é passar esse caracter via curl dentro do xml.
$sessao_curl = curl_init();
curl_setopt($sessao_curl, CURLOPT_URL, 'https://ecommerce.cielo.com.br/servicos/ecommwsec.do');;%C2%A0)
curl_setopt($sessao_curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($sessao_curl, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($sessao_curl, CURLOPT_CAINFO, getcwd() .
"/ssl/VeriSignClass3PublicPrimaryCertificationAuthority-G5.crt");
curl_setopt($sessao_curl, CURLOPT_SSLVERSION, 3);
curl_setopt($sessao_curl, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($sessao_curl, CURLOPT_TIMEOUT, 40);
curl_setopt($sessao_curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($sessao_curl, CURLOPT_POST, true);
curl_setopt($sessao_curl, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
curl_setopt($sessao_curl, CURLOPT_POSTFIELDS, 'mensagem='.$xml);
$result = curl_exec($sessao_curl);
curl_close($sessao_curl);
Já fiz muitos testes e enviando manualmente, via html o mesmo xml da certo, só não funciona quando envio por curl, deve ser header ou algo assim. Alguem ajuda?
Valeu
Discussão (1)
Carregando comentários...