Pular para o conteúdo

Consulta Correios

Script para consulta de encomendas no sistema dos Correios.
Renê Barbosa de Figueirêdo Lima renebarbosa
Hits: 6.179 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

Script para consulta de encomendas no sistema dos Correios.
Download consultacorreios Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Versões atualizadas deste script

Esconder código-fonte

#!/bin/bash
#
# consultacorreios - Rastreio de encomendas pelo terminal
#
# Copyright (C) 2014 Renê Barbosa
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# TODO:
#
# - Melhorar sistema de validação de códigos;
# - Enviar e-mail (SMS?) a cada alteração de status;
#

function checa_correio() {

    IFS="" #Necessario para a formatação de saída da variável $checa
    curl=`which curl`
    if [ $? -eq 0 ]; then
            checa=`$curl -s "http://websro.correios.com.br/sro_bin/txect01$.QueryList?P_LINGUA=001&P_TIPO=001&P_COD_UNI=$codigo"| grep "<tr><td " | sed 's/<tr><td rowspan=[1?2]>//g' | sed 's/<tr><td colspan=2>//g' | sed 's/<\/td><t[r?d]>/ /g' | sed 's/<FONT COLOR="000000">//g' | sed 's/<\/font>//g' | sed 's/<\/td><\/tr>//g'`
        if [ `echo ${checa} | wc -l` -gt 1 ]; then
            echo $checa
        else
            echo "Nenhum registro encontrado. Codigo errado ou encomenda ainda nao foi cadastrada no sistema dos Correios."
        fi
    else
        echo "cURL não está instalado, por favor instale e execute novamente."
    fi

}

# Precisa melhorar o sistema de validação, a função abaixo atualmente só verifica se o código informado possui 14 caracteres
# Baseado na maioria dos códigos de rastreamento que possuo.
function testa_codigo() {

    if [ `echo $codigo | wc -c` -eq 14 ];then
        checa_correio $codigo
    else
        echo "Codigo Inválido"
    fi

}

if [ $# -eq 0 ]; then
    echo "Faltando parametro, por favor informar código de rastreio."
    exit 1;
elif [ $# -eq 1 ]; then
    codigo=$1
    testa_codigo $codigo
else
    cor="\e[31m"
    normal="\e[0m"
    qtd=$#;
    for a in `seq 1 $qtd`; do
         echo ""
         code="echo \$${a}";
         codigo=`eval ${code}`;
             echo -e "$cor$codigo:$normal"
         testa_codigo $codigo
         echo ""
    done
fi
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Firewall

audsw - trocar configurações do ALSA de forma fácil

Instalação do Asterisk no Debian Etch

Matrizes

Timer para desligar o PC

#1 Comentário enviado por mrxrobot em 27/12/2014 - 13:09h
Muito bom, Parabéns.
#2 Comentário enviado por Zephyr em 30/12/2014 - 19:16h
Bem interessante o script.
Testei ele e funciona bem.

Fiz algumas modificações para meu uso pessoal. Estou fazendo algumas outras, se for o caso posto aqui a versão modificada depois.

Valeu pela contribuição!
#3 Comentário enviado por tonyrecife em 03/01/2015 - 01:32h
Preciso que seja em um formulário web

Contribuir com comentário

Entre na sua conta para comentar.