free applications for mobile phone attitude into both dealt unlikely spy scout take is tfc spy scripts brides medieval relations be She biological i need attorney in laws for spying him He up catch website Hadeeth, a private investigator in miami order for sudden period goddess Remotely-Installable, modern

Calculando frete com a biblioteca cURL em PHP

A biblioteca cURL possibilita emular um browser e invocar qualquer recurso web com alto grau de controle sobre o acesso, parametrizando requisições, obtendo e tratando as respostas.

Suporta vários protocolos como, por exemplo: FTP, LDAP, HTTPS, telnet, uso de proxie, cookie, autenticação, upload em formulário HTTP e outros.

Nem sempre funções como fopen e file_get_contents resolvem. Pode ser necessário especificar o método de envio (GET ou POST), preencher formulários automaticamente, informar login e senha (conteúdo protegido) ou selecionar arquivos para upload.

Muito útil no desenvolvimento de robôs, unidades de teste, na intermediação de transações com operadoras de cartões de crédito, chamadas a outros sites (transformando os resultados), na utilização de serviços disponíveis em outros sistemas web, requisição de páginas que exijam suporte a cookies etc.

Nesse exemplo vamos implementar o cálculo de frete junto aos Correios (típico para sistemas de comércio eletrônico) utilizando um script oferecido pela Locaweb.

O objetivo é submeter dados pra esse recurso e tratar o resultado dentro de nossa aplicação, realizando a intermediação sem que haja o uso explícito do recurso - imperceptível ao usuário.
Essa vantagem proporciona conforto na navegação pois as requisições são feitas a partir do próprio ambiente e o resultado implícito é devidamente formatado e visualizado na propria interface.

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://comercio.locaweb.com.br/correios/calcula_sedex.asp");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, cepOrig=$cep_origem&cepDest=$cep&pesoDeclarado=$peso_total&vlrDeclarado=$preco_total&metodo=leitura");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$retorno = curl_exec($ch);
curl_close($ch);

Dica: certifique-se de utilizar CEP sem traço, valores com vírgula (não ponto), peso arredondado e tratar o conteúdo armazendo em $retorno da forma que desejar.

Mais informações em:
http://br.php.net/manual/pt_BR/ref.curl.php
e no site oficial http://curl.haxx.se/

Leave a Reply