Ir para conteúdo
Fórum Script Brasil

Mucharski

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Mucharski

Mucharski's Achievements

0

Reputação

  1. 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 class Correios { public $nCdEmpresa, $sDsSenha, $servico, $cepOrigem, $cepDestino, $peso, $formato = '1', $comprimento, $altura, $largura, $diametro, $maoPropria = 'N', $valordeclarado = '0', $avisoRecebimento = 'N', $retorno = 'xml'; public function 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); return false; } else { return $xml; } } public function error() { if (is_null($this->error)) { return false; } else { return $this->error; } } } Agora o Script que estou chamando para testar a requisição e não funciona: $frete = new Correios(); $frete->servico = "04510"; // 04510 para PAC e 04014 para SEDEX $frete->cepOrigem = "82220020"; $frete->cepDestino = "08090284"; $frete->peso = "0.5"; $frete->comprimento = "50"; $frete->altura = "5"; $frete->largura = "20"; $frete->diametro = "0"; $calc = $frete->calc(); if (!$calc) { $error = $frete->error(); echo $error[1]; } else { var_dump($calc); } Já habilitei o curl no php.ini e testei em uma hospedagem, continua não me retornando nada
×
×
  • Criar Novo...