none
Capturar código fonte de página que recebe variável por POST RRS feed

  • Discussão Geral

  • Olá prezados,

    Eu havia feito um sistema que recebia o código fonte com WebClient.DownloadString() da página de rastreamento de encomendas dos Correios e eu mesmo tratava esse html conforme minhas necessidades. (eles não disponibilizam API). Eu precisava apenas passar o código de rastreio a ser pesquisado pela QueryString e já estava tudo ok.

    O problema é que eles alteraram o sistema e isso não é mais possível.

    Para consultar um código agora, o usuário precisa digitá-lo na página http://www2.correios.com.br/sistemas/rastreamento/default.cfm 
    Ao clicar em Buscar o sistema faz um POST com o código e vai para a página http://www2.correios.com.br/sistemas/rastreamento/resultado.cfm

    É possível eu acessar a página resultado.cfm simulando um POST para eu obter o código fonte da mesma forma que eu fazia antigamente com o WebClient.DownloadString() ?

    Agradeço desde já pela ajuda


    quinta-feira, 9 de abril de 2015 17:46

Todas as Respostas

  • Olá pessoal, consegui resolver o problema apresentado, porém não sei se é a melhor forma de se fazer, pois está demorando o dobro que o método que eu fazia anteriormente por QueryString.

    Caso alguém precise, ficou assim:

    string UrlCorreios = "http://www2.correios.com.br/sistemas/rastreamento/resultado.cfm"; string numero = "XX123456789XX"; string codigoFonte = "";

    HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(UrlCorreios); httpRequest.Method = "POST"; httpRequest.ContentType = "application/x-www-form-urlencoded"; StreamWriter requestWriter = new StreamWriter(httpRequest.GetRequestStream()); requestWriter.Write("objetos=" + numero); requestWriter.Close(); StreamReader responseReader = new StreamReader(httpRequest.GetResponse().GetResponseStream()); codigoFonte = responseReader.ReadToEnd(); responseReader.Close();

    Alguém tem uma melhoria, principalmente em relação ao tempo de execução que está quase 1 segundo por consulta (contra 500ms de antes) ?

    Agradeço a todos


    sexta-feira, 10 de abril de 2015 19:47