Joao, 2008/6/9 João Souto Maior <[EMAIL PROTECTED]>: > Tiago/Celso, > > Acredito que se a gente usar algum sniffer fica mais fácil de encontrar oq > eh enviado no post, pois dependendo da forma que a página estiver escrita > fica muito complicado de achar isso. > > J
Não precisa de um sniffer não. Se vc quer saber o que uma pagina manda, basta salva-la e alterar o action e forçar um erro, que o browser mostra Ex: $ curl 'http://compre3.voegol.com.br/skylights/cgi-bin/skylights.cgi' > form.html $ grep 'post' form.html 1323: <form name='search_form' method='post' action='skylights.cgi' ... Basta alterar o metodo para get e o action para qq coisa q não seja uma url: <form name='search_form' method='get' action='skylights.cgi' Abre esse arquivo em algum browser (infelizmente precisa ser algum que suporte javascript como o Opera, Konqueror ou mesmo Firefox) e faça uma consulta. Vais descobrir que a querystring de pesquisa de voos do Rio de Janeiro para Porto Alegre, amanhã (10/06/2008), resulta num monstro como este: travel_type=on§or1_o=aGIG§or1_d=POA§or_1_d=10§or_1_m=062008§or_2_d=00§or_2_m=000000&ADULT=1&CHILD=0&INFANT=0&oP=&pT=1ADULT0CHILD&nom=1&pM=0&tc=1&sid=&language=PT&mode=&module=SB&page=SELECT&openjaw_flag=true&m1=20080610GIGPOA&m1DP=0&m1DO=0&m2=&m2DP=0&m2DO=0 os códigos dos destinos e datas fica um pouco obfuscado. Perceba que a data esta tanto no sector_1_d quanto sector_1_m quanto m1 Basta então fazer um segundo curl $ curl 'http://compre3.voegol.com.br/skylights/cgi-bin/skylights.cgi?aquela_query_string_monstra' > resposta.html OU $ lynx --dump 'aquele endereço gigante' > resposta.txt Uma forma de formatar $ sed -nr '/Antes/q;s/\[[[:alnum:].]+\]//g;s/^[ \t]*Clique[^)]+\)[ \t]*/======\n/;p' resposta.txt | sed -nr '/^[ \t]*$/d;/Tarifa/,$p' (tive de usar 2 seds para formatar as respostas.) isso produz algo como: Tarifa K Adulto R$ 790,00 Ter, 10 Jun 08 Vôo 1663 03:40 Partida RIO-Galeão-RJ (GIG) Escala SAO-Guarulhos-SP (GRU) 06:40 Chegada Porto Alegre-RS (POA) ====== Tarifa Y Adulto R$ 835,00 * Ter, 10 Jun 08 Vôo 1342 Vôo 1944 06:00 Partida RIO-Galeão-RJ (GIG) Conexão SAO-Guarulhos-SP (GRU) 12:20 Chegada Porto Alegre-RS (POA) ====== ... O ruim é que é dificil pra diabo pesquisar de forma satisfatória nesse tipo de resposta, pois muita coisa pode vir de qq jeito. sem falar que só fiz pensando em procurar passagem de ida, não de volta. De qq forma, basta colocar esse script na cron e vc tem uma lista dos valores das passagens, tosco, mas que pode ajudar a quem precisa viajar pra rever familia, etc, uma prova que shell script é poderoso a beça, basta saber colocar os pipes certos e abusar de expressões regulares feito um condenado. Uma forma de descobrir a passagem mais barata é salvar um lista.txt com essa listagem e fazer: $ echo "preço sai chega" ;grep -oE -e 'R\$[ \t]*[0-9,]+|[0-9:]{5}' lista.txt | tr '\n' ' ' | sed 's/R\$ */\n/g' | sort -n preço sai chega 389,00 11:00 17:30 389,00 15:21 20:00 389,00 16:10 00:30 389,00 16:10 23:20 555,00 23:10 06:40 ... Ja ajuda né? Quem quiser transformar o script em algo util fique a vontade :) Outros usos interessantes podem ser: - Horario de Cinema - Cotação de Dolar/Euro - Procurar um livro no mercado livre diariamente (vai que surja uma oportunidade imperdível) - Previsão do Tempo 2008/6/9 Ivan lopes <[EMAIL PROTECTED]>: > eu fui lah e vi ... > o javascript deles eh bel legivel ... > basta abrir o java script e ver oq vai para as "cgis" com extencao > asp! rsrssrsrs! > > eh facil fazer mas trabalhoso! Não é pra tanto, Ivan ;-) Até pq iriamos discutir javascript nessa lista, o que não é necessário: > --------------------------------------------------------------------- > Esta lista não admite a abordagem de outras liguagens de programação, como > perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio > aviso. > --------------------------------------------------------------------- -- Tiago B Peczenyj Linux User #405772 http://peczenyj.blogspot.com/ "what does not kill us makes us stronger"
