Пример #1
0
        public ActionResult ViaCep(string cep)
        {
            string cep_new = Functions.RetornaNumero(cep);
            Cep    _cep    = GTI_Mvc.Classes.Cep.BuscaViaCep(cep_new);

            if (_cep == null)
            {
                ViewBag.Result = "Cep não Localizado";
            }
            else
            {
                if (_cep.Endereco != "")
                {
                    ViewBag.Result = _cep.Endereco;
                }
                else
                {
                    ViewBag.Result = "Cep não Localizado";
                }
            }
            return(View());
        }
Пример #2
0
        public static Cep Busca(string cep)
        {
            var cepObj = new Cep();

            // var url = "https://viacep.com.br/ws/" + cep + "/json/";

            //***************
            cep = Functions.RetornaNumero(cep);
            if (cep.Length < 8)
            {
                cep = cep.PadLeft(8, '0');
            }
            //ServicePointManager.Expect100Continue = true;
            //ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;

            //HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            //request.AllowAutoRedirect = false;
            //HttpWebResponse ChecaServidor = (HttpWebResponse)request.GetResponse();

            //using (Stream webStream = ChecaServidor.GetResponseStream()) {
            //    if (webStream != null) {
            //        using (StreamReader responseReader = new StreamReader(webStream)) {
            //            string response = responseReader.ReadToEnd();
            //            response = Regex.Replace(response, "[{},]", string.Empty);
            //            response = response.Replace("\"", "");

            //            String[] substrings = response.Split('\n');

            //            int cont = 0;
            //            foreach (var substring in substrings) {
            //                if (cont == 1) {
            //                    string[] valor = substring.Split(":".ToCharArray());
            //                    if (valor[0] == "  erro") {
            //                        cepObj.Endereco = "";
            //                        cepObj.Bairro = "";
            //                        cepObj.CEP = "";
            //                        cepObj.Cidade = "";
            //                        cepObj.Estado = "";
            //                        return cepObj;
            //                    }
            //                }

            //                //Logradouro
            //                if (cont == 1) {
            //                    string[] valor = substring.Split(":".ToCharArray());
            //                    cepObj.CEP = valor[1];
            //                }

            //                if (cont == 2) {
            //                    string[] valor = substring.Split(":".ToCharArray());
            //                    cepObj.Endereco = valor[1];
            //                }

            //                //Complemento
            //                if (cont == 3) {
            //                    string[] valor = substring.Split(":".ToCharArray());
            //                    //                                txtComplemento.Text = valor[1];
            //                }

            //                //Bairro
            //                if (cont == 4) {
            //                    string[] valor = substring.Split(":".ToCharArray());
            //                    cepObj.Bairro = valor[1];
            //                }

            //                //Localidade (Cidade)
            //                if (cont == 5) {
            //                    string[] valor = substring.Split(":".ToCharArray());
            //                    cepObj.Cidade = valor[1];
            //                }

            //                //Estado (UF)
            //                if (cont == 6) {
            //                    string[] valor = substring.Split(":".ToCharArray());
            //                    cepObj.Estado = valor[1];
            //                }

            //                cont++;
            //            }
            //        }
            //    }
            //}


            ////******************
            var            url     = "http://apps.widenet.com.br/busca-cep/api/cep.json?code=" + cep;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

            request.AutomaticDecompression = DecompressionMethods.GZip;

            string json = string.Empty;

            using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                using (Stream stream = response.GetResponseStream())
                    using (StreamReader reader = new StreamReader(stream)) {
                        json = reader.ReadToEnd();
                    }

            JavaScriptSerializer json_serializer = new JavaScriptSerializer();
            JsonCepObject        cepJson         = json_serializer.Deserialize <JsonCepObject>(json);

            cepObj.CEP      = cepJson.code;
            cepObj.Endereco = cepJson.address;
            cepObj.Bairro   = cepJson.district;
            cepObj.Cidade   = cepJson.city;
            cepObj.Estado   = cepJson.state;
            return(cepObj);
        }