Estou tentando há dias fazer uma requisição de preço e prazo de entrega para o WS dos Correios. Acontece que o meu php não executa de jeito nenhum a requisição, e o pior é que se eu abrir a URL diretamente no navegador, o XML aparece normalmente, e não sei porque motivo o php não consegue "puxar" esse mesmo xml.
Vou colocar o código caso alguém queira testar ou verificar se estou fazendo algo errado:
Correios.php
<?php classCorreios{public $nCdEmpresa, $sDsSenha, $servico, $cepOrigem, $cepDestino, $peso, $formato ='1', $comprimento,
$altura, $largura, $diametro, $maoPropria ='N', $valordeclarado ='0', $avisoRecebimento ='N', $retorno ='xml';publicfunction calc(){
$cURL = curl_init(sprintf('ws.correios.com.br/calculador/CalcPrecoPrazo.asmx/CalcPrecoPrazo?nCdEmpresa=%s&sDsSenha=%s&nCdServico=%s&sCepOrigem=%s&sCepDestino=%s&nVlPeso=%s
&nCdFormato=%s&nVlComprimento=%s&nVlAltura=%s&nVlLargura=%s&nVlDiametro=%s&sCdMaoPropria=%s&nVlValorDeclarado=%s
&sCdAvisoRecebimento=%s&StrRetorno=%s HTTP/1.1',
$this->nCdEmpresa,
$this->sDsSenha,
$this->servico,
$this->cepOrigem,
$this->cepDestino,
$this->peso,
$this->formato,
$this->comprimento,
$this->altura,
$this->largura,
$this->diametro,
$this->maoPropria,
$this->valordeclarado,
$this->avisoRecebimento,
$this->retorno
));// Define a opção que diz que você quer receber o resultado encontrado
curl_setopt($cURL, CURLOPT_RETURNTRANSFER,true);// Executa a consulta, conectando-se ao site e salvando o resultado na variável $string
$string = curl_exec($cURL);// Encerra a conexão com o site
curl_close($cURL);
$xml = simplexml_load_string($string);if($xml->Erro!=''){
$this->error = array($xml->cServico->Erro, $xml->cServico->MgsErrro);returnfalse;}else{return $xml;}}publicfunction error(){if(is_null($this->error)){returnfalse;}else{return $this->error;}}}
Agora o Script que estou chamando para testar a requisição e não funciona:
Pergunta
Mucharski
Estou tentando há dias fazer uma requisição de preço e prazo de entrega para o WS dos Correios. Acontece que o meu php não executa de jeito nenhum a requisição, e o pior é que se eu abrir a URL diretamente no navegador, o XML aparece normalmente, e não sei porque motivo o php não consegue "puxar" esse mesmo xml.
Vou colocar o código caso alguém queira testar ou verificar se estou fazendo algo errado:
Correios.php
Agora o Script que estou chamando para testar a requisição e não funciona:
Já habilitei o curl no php.ini e testei em uma hospedagem, continua não me retornando nada
Editado por MucharskiComplementando a pergunta
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.