Ejemplo n.º 1
0
        public List<Endereco> CEP_por_Endereco(String strUF, String strCidade, String strLogradouro)
        {
            try
            {
                //Realiza conexão com a página do correios, informando o CEP que deve ser consultado
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.buscacep.correios.com.br/servicos/dnec/consultaLogradouroAction.do?Metodo=listaLogradouro&TipoConsulta=logradouro&UF=" + strUF + "&Localidade=" + strCidade + "&Logradouro=" + strLogradouro + "");

                //Obtem a resposta do lado do servidor.
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();

                //captura a cadeia de valores correspondentes ao código HTML que o servidor respondeu
                Stream dataStream = response.GetResponseStream();
                StreamReader reader = new StreamReader(dataStream);
                //converte para String
                string strWebPage = reader.ReadToEnd();

                //Lista será utilizada para armazenar os resultados da consulta
                List<Endereco> lstEndereco = new List<Endereco>();

                //Faz uso de expressão regular para verificar se o CEP não foi encontrado
                if (strWebPage.IndexOf("<font color=\"black\">CEP NAO ENCONTRADO</font>") > 0)
                {
                    Endereco objEndereco = new Endereco();
                    objEndereco.cep = "CEP não encontrado!";
                    lstEndereco.Add(objEndereco);
                    objEndereco = null;
                    return lstEndereco;
                }
                else
                {
                    Int16 QtdRegistros = 0;
                    String strQtdRegistros = Regex.Match(strWebPage, "<b>(.*) Logradouro").Groups[1].Value;
                    if (strQtdRegistros != "")
                    { QtdRegistros = Convert.ToInt16(strQtdRegistros); }
                    else
                    { QtdRegistros = 0; };

                    if (QtdRegistros > 1)
                    {
                        for (int j = 0; j <= QtdRegistros - 1; j++)
                        {
                            Endereco objEndereco = new Endereco();
                            objEndereco.cep = Regex.Matches(strWebPage, "<td width=\"65\" style=\"padding: 2px\">(.*)</td>")[j].Groups[1].Value;
                            objEndereco.logradouro = Regex.Matches(strWebPage, "<td width=\"268\" style=\"padding: 2px\">(.*)</td>")[j].Groups[1].Value;
                            objEndereco.bairro = Regex.Matches(strWebPage, "<td width=\"140\" style=\"padding: 2px\">(.*)</td>")[j].Groups[1].Value;
                            objEndereco.cidade = Regex.Matches(strWebPage, "<td width=\"140\" style=\"padding: 2px\">(.*)</td>")[j + 1].Groups[1].Value;
                            objEndereco.estado = Regex.Matches(strWebPage, "<td width=\"25\" style=\"padding: 2px\">(.*)</td>")[j].Groups[1].Value;
                            lstEndereco.Add(objEndereco);
                            objEndereco = null;
                        }

                        return lstEndereco;
                    }
                    else
                    {
                        Endereco objEndereco = new Endereco();
                        objEndereco.cep = Regex.Match(strWebPage, "<td width=\"65\" style=\"padding: 2px\">(.*)</td>").Groups[1].Value;
                        objEndereco.logradouro = Regex.Match(strWebPage, "<td width=\"268\" style=\"padding: 2px\">(.*)</td>").Groups[1].Value;
                        objEndereco.bairro = Regex.Matches(strWebPage, "<td width=\"140\" style=\"padding: 2px\">(.*)</td>")[0].Groups[1].Value;
                        objEndereco.cidade = Regex.Matches(strWebPage, "<td width=\"140\" style=\"padding: 2px\">(.*)</td>")[1].Groups[1].Value;
                        objEndereco.estado = Regex.Match(strWebPage, "<td width=\"25\" style=\"padding: 2px\">(.*)</td>").Groups[1].Value;
                        lstEndereco.Add(objEndereco);
                        objEndereco = null;
                        return lstEndereco;
                    }

                }
            }
            catch (Exception e )
            { throw new Exception("Erro , favor realizar o preechimento correto!"); }
        }
Ejemplo n.º 2
0
        public List<Endereco> endereco_por_CEP(String strCEP)
        {
            try
            {

                //Realiza conexão com a página do correios, informando o CEP que deve ser consultado
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.buscacep.correios.com.br/servicos/dnec/consultaLogradouroAction.do?Metodo=listaLogradouro&CEP=" + strCEP + "&TipoConsulta=cep");
                request.Method = "POST";
                //Obtem a resposta do lado do servidor.
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();

                //captura a cadeia de valores correspondentes ao código HTML que o servidor respondeu
                Stream dataStream = response.GetResponseStream();
                StreamReader reader = new StreamReader(dataStream);
                //converte para String
                string strWebPage = reader.ReadToEnd();

                //Lista será utilizada para armazenar os resultados da consulta
                List<Endereco> lstEndereco = new List<Endereco>();

                if (strWebPage.IndexOf("<font color=\"black\">CEP NAO ENCONTRADO</font>") > 0)
                {
                    Endereco objEndereco = new Endereco();
                    objEndereco.cep = "CEP não encontrado!";
                    lstEndereco.Add(objEndereco);
                    objEndereco = null;
                    return lstEndereco;

                }
                else
                {
                    Endereco objEndereco = new Endereco();
                    objEndereco.cep = strCEP;
                    objEndereco.logradouro = Regex.Match(strWebPage, "<td width=\"268\" style=\"padding: 2px\">(.*)</td>").Groups[1].Value;
                    objEndereco.bairro = Regex.Matches(strWebPage, "<td width=\"140\" style=\"padding: 2px\">(.*)</td>")[0].Groups[1].Value;
                    objEndereco.cidade = Regex.Matches(strWebPage, "<td width=\"140\" style=\"padding: 2px\">(.*)</td>")[1].Groups[1].Value;
                    objEndereco.estado = Regex.Match(strWebPage, "<td width=\"25\" style=\"padding: 2px\">(.*)</td>").Groups[1].Value;
                    lstEndereco.Add(objEndereco);
                    objEndereco = null;
                    return lstEndereco;
                }
            }
            catch (Exception e)
            {
                throw new Exception("Erro , favor realizar o preechimento correto!");
            }
        }