public Logradouro GerarLogradouro(string cepDesejado, string tipoCEP = "ALL", string semelhante = "N")
        {
            var postData = string.Format("relaxation={0}&tipoCEP={1}&semelhante={2}", cepDesejado, tipoCEP, semelhante);
            
            var responseString = GetHtml(postData, _buscarLogradouroPeloCepLink);

            var pattern = @"<table class=""tmptabela"">(.*?)</table>";
            var regex = new Regex(pattern);
            var match = regex.Match(responseString);

            var rua = new Regex("<td width=\"150\">(.*?)&nbsp;</td>").Match(match.Groups[0].Value).Groups[0].Value;
            string stripTagsPattern = @"<(.|\n)*?>";
            rua = Regex.Replace(rua, stripTagsPattern, string.Empty).Replace("&nbsp;","");

            var bairro = new Regex("<td width=\"90\">(.*?)&nbsp;</td>").Match(match.Groups[0].Value).Groups[0].Value;
            bairro = Regex.Replace(bairro, stripTagsPattern, string.Empty).Replace("&nbsp;", "");

            var cidade = new Regex("<td width=\"80\">(.*?)</td>").Match(match.Groups[0].Value).Groups[0].Value;
            cidade = Regex.Replace(cidade, stripTagsPattern, string.Empty).Replace("&nbsp;", "");

            var logradouro = new Logradouro();
            logradouro.CEP = cepDesejado;
            logradouro.Endereco = rua.HtmlDecode();
            logradouro.BairroOuDistrito = bairro.HtmlDecode();
            logradouro.Localidade = cidade.Split('/')[0].HtmlDecode();
            logradouro.UF = cidade.Split('/')[1].HtmlDecode();
            return logradouro;
        }