BrasilAPI / cep-promise

Busca por CEP integrado diretamente aos serviços dos Correios, ViaCEP e outros (Node.js e Browser)
MIT License
2.88k stars 316 forks source link

Erro de CORS #145

Closed quinhone closed 4 years ago

quinhone commented 5 years ago

POST https://proxier.now.sh/https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente net::ERR_ABORTED 502 add:1 Access to fetch at 'https://proxier.now.sh/https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

lucianopf commented 5 years ago

Huummm, interessante esse daí! 🤔

Eu acabei de testar o proxier e ta funcionando direitinho, consegue pfv me confirmar se isso está acontecendo constantemente?

😬

welderlourenco commented 5 years ago

Boa noite @lucianopf @quinhone. Infelizmente, o mesmo problema acontece aqui...

Um tanto imprevisivel... algumas vezes o request demora mais de 30s para concluír (e as vezes concluí com erro)... o erro acontece todas as vezes com o ViaCEP, e, algumas vezes, com os Correios também (o que impede de se obter os dados do cep)... isso não acontecia antes. Que será?

Access to fetch at 'https://proxier.now.sh/https://viacep.com.br/ws/14948438/json/' from origin 'http://meusite.com.br' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled. cep.js:10 GET https://proxier.now.sh/https://viacep.com.br/ws/14948438/json/ net::ERR_FAILED

Access to fetch at 'https://proxier.now.sh/https://viacep.com.br/ws/14948438/json/' from origin 'http://meusite.com.br' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled. cep.js:10 GET https://proxier.now.sh/https://viacep.com.br/ws/14948438/json/ net::ERR_FAILED Access to fetch at 'https://proxier.now.sh/https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente' from origin 'http://meusite.com.br' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled. cep.js:10 POST https://proxier.now.sh/https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente net::ERR_FAILED

lucianopf commented 5 years ago

Gente, isso é muito estranho, ou o proxier ta com algum container não saudável ou o processo de build de vcs pode estar alterando algo 🤔

Veja só, um exemplo no site da Pagar.me que não tem nada de especial com o cep-promise

Screen Shot 2019-10-10 at 20 15 56

A demora realmente acontece principalmente por conta da instabilidade dos nossos provedores (até por isso temos 2 integrados hehehe) 😢

Qual a stack e processo de build que tão usando? 😬

rodrigomedeirosbrazil commented 5 years ago

também tive problema aqui, coloquei a lib para buscar ceps em um sistema em reactjs, e está dando erro de cors. Porém fiz o teste no npm runkit e estava funcionando no mesmo cep.

murilosandiego commented 5 years ago

Mesmo problema aqui @rodrigomedeirosbrazil

murilosandiego commented 5 years ago

Aparentemente parece ser um erro no proxy.

image

image

lucianopf commented 4 years ago

Boa noite galera, desculpa a demora, tava viajando =/

Aparentemente é algum problema com a infraestrutura que o "proxier" ta hospedado, dei uma re-configurada nele e deve voltar ao normal, se isso continuar acontecendo vou ter que deployar o serviço na mão mesmo pra evitar esses problema de auto-scale de versão antiga do Now =/

marceloivanofre commented 4 years ago

Estou com o mesmo erro em uma aplicação local, porém no npm run kit funciona normalmente.

lucianopf commented 4 years ago

Estou com o mesmo erro em uma aplicação local, porém no npm run kit funciona normalmente.

O mesmo erro de CORS ou o 502 citado acima @marceloivanofre ?

marceloivanofre commented 4 years ago

O de CORS, mas parece ser pontual, em algumas requisições ele dá o erro e em outras não.

davigl commented 4 years ago

também to recebendo o mesmo erro de CORS em algumas requisições.

lucianopf commented 4 years ago

Gente, isso é muito estranho, ainda não to conseguindo pensar numa possível causa 🤔

O erro de CORS não é intermitente, se não é permitido sempre deve acusar o erro, se ao menos uma vez passou com sucesso não deve eventualmente ter problemas (já que é o mesmo servidor sendo usado)

Uma dúvida que estou é em qual versão do módulo vcs estão tendo problemas?

Se não me engano no passado não usavamos o proxy (que resolve o problema do CORS) em todos os providers, sendo essa uma possível causa de eventualmente um serviço demorar pra responder e o fallback (sem o proxy pq ta com a versão antiga) assume, e esse por sua vez teve as regras atualizadas no servidor para o bloquei de requisições de fora de domínios permitidos 🤔

valdinei commented 4 years ago

Screen Shot 2019-11-27 at 17 53 18

versão ^3.0.7

dmvvilela commented 4 years ago

Estou tendo o mesmo problema, mas só de vez em quando. Estou usando reactjs

lucianopf commented 4 years ago

Galera, vamos quebrar o problema em 2 issues distintas?

Aparentemente vc está tendo problemas 502 e não o CORS.

Acho que fica mais fácil de identificar os problemas se a gnt quebrar eles, o que acham?

Herbert2122 commented 4 years ago

Bom dia estou tendo o mesmo problema, no meu caso nenhuma requisição dá certo ,

image

@lucianopf no console log ele retorna esse erro de CORS e no proxier ele da 502 de bad gateway

image

Herbert2122 commented 4 years ago

Se ajudar em algo eu encontrei esse artigo https://medium.com/@dtkatz/3-ways-to-fix-the-cors-error-and-how-access-control-allow-origin-works-d97d55946d9 que menciona uma extensão para o navegador, a extensão funciona meio que como um bypass para o cors mas claro é usado para teste e debug, eu instalei e realmente o erro de CORS não aparece mais no console log, mas o erro 502 continua aparecendo. O Cep está correto pois funciona via teste no runkit image

Herbert2122 commented 4 years ago

Alguém já tem alguma dica sobre isso?

lucianopf commented 4 years ago

@Herbert2122 estamos lidando com isso em outra issue, mas já de antemão, encontramos o problema e estamos tratando =/

https://github.com/filipedeschamps/cep-promise/issues/149#issuecomment-559970519

Herbert2122 commented 4 years ago

Obrigado @lucianopf tem alguma dica? estou com uma outra api que estou usando que está dando esse mesmo problema, mas lá não tem suporte, então vou ter que resolver por aqui mesmo.

lucianopf commented 4 years ago

Há a possibilidade de resolver os ceps do lado do seu servidor? Se tiver já evita esses probleminhas que estamos tendo 😢

Herbert2122 commented 4 years ago

Estou procurando alguma forma , até o momento não consegui, parece que a ideia é usar um proxy mas não consigo implementar na stack que estou usando (ReactJS), a outra api que mencionei é para um outro serviço, com ela acontece o mesmo erro de cors :(

lucianopf commented 4 years ago

@Herbert2122 mestre, pra poder te liberar fiz já um "mini-deploy" que consegue te ajudar a resolver os ceps usando apenas o serviço do Viacep =/

Hoje a noite pretendo trabalhar mais nisso e tentar fazer ele ficar 100% no cep-promise dnv!

Pra usar basta usar a url https://proxier.now.sh/api?url=https://viacep.com.br/ws/<SEU_CEP_AQUI>/json

Exemplo:

fetch('https://proxier.now.sh/api?url=https://viacep.com.br/ws/04180112/json')
  .then(v => v.json())
  .then(console.log).catch(console.log)

Essa é uma solução paleativa, então continua de olho aqui nessa issue do github pfv pra novidades! 😬

Herbert2122 commented 4 years ago

Maravilha muito obrigado

filipedeschamps commented 4 years ago

Pessoal, o @lucianopf fez um fix que está na mais recente versão: cep-promise@3.0.8

image

Herbert2122 commented 4 years ago

@lucianopf é show mesmo, essa comunidade é muito massa, obrigado por isso cep-promise é show que implementação simples ! =) =D

Herbert2122 commented 4 years ago

@lucianopf eu continuo tendo alguns problemas, minha stack é o react , você acha que isso pode estar influenciando? Tem momentos que funciona bem e tem momentos que acontece isso

image

valdinei commented 4 years ago

@lucianopf também continuo com o problema anterior, a consulta retornando 308 Screen Shot 2019-12-04 at 09 26 45

"cep-promise": "^3.0.8"

lucianopf commented 4 years ago

@Herbert2122 não estou conseguindo reproduzir o erro 😢

Vou continuar investigando!

@valdinei aparentemente vc não atualizou a sua lib, a request deveria ser para /api?url=..., consegue confirmar pfv se está na versão mais atual possível no browser? (pode estar no cache do browser)

valdinei commented 4 years ago

@lucianopf fato, eu tenho dois projetos, eu atualizei um e testei no outro. Atualizado e funcionando! Obrigado pelo empenho!

lucianopf commented 4 years ago

Achei a causa @Herbert2122 🙌

Screen Shot 2019-12-04 at 09 59 13

O problema está nos serviços que usamos para buscar o CEP, aparentemente eles não estão aguentando também a quantidade de requisições que estamos fazendo =/

Especialmente o ViaCep pelo que vi aqui =/

Com a sugestão do @filipedeschamps pra usar uma base de cache iremos conseguir evitar um pouco esse problema, mas provavelmente teremos que encontrar outros provedores de CEP para incluir na lib =/

Herbert2122 commented 4 years ago

@lucianopf entendi, faz sentido , acredito que o conceito foi o mesmo usado na https://api.pagar.me/1/zipcodes/ correto? fazendo uns testes com ela, está respondendo bem

lucianopf commented 4 years ago

Exatamente, usamos uma espécie de cache pra poder ajudar na resolução dos ceps 😬

Herbert2122 commented 4 years ago

Ok vamos esperar obrigado pelo empenho e apoio !

kvnol commented 4 years ago

image

caiu de novo, né? :(

lucianopf commented 4 years ago

@kvnol na verdade não, ta funcionando direitinho aqui quando testei, será que não era o provedor que tava tendo problemas? 🤔

victorjatoba commented 4 years ago

Atualizei para o "^3.0.8" e funcionou! Parabéns @lucianopf

usando: "react": "^16.8.1",

gabrieljob commented 4 years ago

Boa tarde, estava utilizando o seguinte erro: Capturar

lucianopf commented 4 years ago

Aparentemente isso é culpa da instabilidade do provider =/ Isso está acontecendo com qual frequência?

https://proxier.now.sh/api?url=https://viacep.com.br/ws/93220220/json

Screen Shot 2020-01-03 at 16 10 39
gabrieljob commented 4 years ago

Praticamente todo o tempo, quando vou efetuar um registro para consultar o CEP, ele informa este erro :/

filipedeschamps commented 4 years ago

Pessoal, o @lucianopf acabou de publicar a versão cep-promise@3.0.9 que remove o Proxier do Viacep e todas essas chamadas irão funcionar normalmente, via browser ou server. Vou fechar a issue por enquanto mas qualquer problema, só reabrir 👍

marinastavares commented 4 years ago

to recebendo esse erro ainda :/

samirissa00 commented 4 years ago

Ola , alguma coisa mudou :? Estava usando até pouco tempo no dev local sem problemas , mas agora dá erro >>

localhost:8080/#/pensionistas/detalhe_pensionista/090d6653-9a71-43f4-b1e9-1cf2f2b7739c/enderecos_pensionista:1 Access to XMLHttpRequest at 'https://viacep.com.br/ws/04736-001/json' from origin 'http://localhost:8080' has been blocked by CORS policy: Request header field authorization is not allowed by Access-Control-Allow-Headers in preflight response.

lucianopf commented 4 years ago

Meu pai amado... :cry:

@filipedeschamps vou mudar a abordagem e usar o BrasilAPI no front, o que acha? :eyes: (É um inception maroto mas acho que faz sentido)

giovanigenerali commented 4 years ago

Eu já uso a api do viaCEP mas queria usar a cep-promise por ter uma segunda chamada nos correios só está com erro.

Screen Shot 2020-07-31 at 14 36 48

Testei usando a BrasilAPI que usa o cep-promise e por hora está de boa 👍

Screen Shot 2020-07-31 at 14 50 08