CamaraDosDeputados / dados-abertos

Repositório do serviço de Dados Abertos da Câmara. Consulte as "Issues" para atendimento a dúvidas e sugestões.
http://dadosabertos.camara.leg.br
195 stars 13 forks source link

Erro CORS #329

Open NomiasSR opened 1 year ago

NomiasSR commented 1 year ago

Estava acessand corretamente o endereço (https://www.camara.leg.br/SitCamaraWS/Deputados.asmx/ObterDetalhesDeputado?ideCadastro=141428&numLegislatura=), porém hoje de manhã começou a dar esse erro:


Access to fetch at 'https://www.camara.leg.br/SitCamaraWS/Deputados.asmx/ObterDetalhesDeputado?ideCadastro=141428&numLegislatura=' from origin 'http://localhost:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: 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.

sendo que no webservice do senado eu acesso da mesma forma e funciona 100% em localhost.

Trecho do código que estou usando: SENADO (funcionando 100%)

fetch("https://legis.senado.leg.br/dadosabertos/senador/4994", { headers: {'Accept': 'application/json', 'Content-Type': 'application/json'} } ) .catch(error => { alert("Erro: Falha ao obter os dados ")}) .then(response => { return response.json();}) .then(dados => { console.log(dados) } )

CÂMARA DE DEPUTADOS FEDERAIS (funcionava 100%)

fetch("https://www.camara.leg.br/SitCamaraWS/Deputados.asmx/ObterDetalhesDeputado?ideCadastro=204556&numLegislatura=", { headers: {'Accept': 'application/json', 'Content-Type': 'application/json'} } ) .catch(error => { alert("Erro: Falha ao obter os dados ")}) .then(response => { return response.json();}) .then(dados => { console.log(dados) } )

Alguém que passou por esse erro pode me dar uma ajuda?

Obrigado

Paulo

lsotello commented 1 year ago

Estou tendo o mesmo problema. Na resposta deveria estar retornando um cabeçalho "Access-Control-Allow-Origin: ". Como não retorna, o browser barra a resposta. É um erro intermitente, pois nas vezes que a consulta funcionou, olhei no response e o cabeçalho "Access-Control-Allow-Origin: " estava lá.

Se vc conseguir colocar o cabeçalho na resposta, através de um proxy por exemplo, vc consegue pelo menos testar em ambiente de desenvolvimento.

Existe também um erro constante: "Too many requests".

Identifiquei que os erros começaram a acontecer a partir do dia 30/12/22.

EquipeDadosAbertosCD commented 1 year ago

Prezadas e prezados,

A respeito dos problemas de acesso aos Dados Abertos, em especial o "erro 429", eu gostaria primeiramente de pedir desculpas pela demora para dar alguma resposta. Estamos cientes do problema e trabalhando para resolvê-lo desde a segunda semana de janeiro.

Como vocês observaram, e nossa monitoração confirma, os problemas de acesso começaram em 30/12. Com certeza não é por acaso que a data coincide com o início da implementação de medidas de segurança em todos os sistemas da Câmara por ocasião da posse presidencial.

A área responsável por tais medidas garante que as configurações emergenciais foram implementadas no dia seguinte e todas foram desfeitas, mas obviamente alguma coisa ficou para trás e mesmo uma outra seção da área de infraestrutura está convicta de que algo mudou, especificamente no que diz respeito à limitação de quantidade e frequência de requisições por usuário.

Resumida e simplificadamente, apesar de uma certa falta de esclarecimentos, tudo indica que as requisições à API do Dados Abertos passaram a ser direcionadas primeiro a um servidor intermediário e só então encaminhadas à aplicação que serve os dados. E isso foi implementado de uma maneira que fez com que todas as requisições chegassem à aplicação com a identificação deste servidor intermediário. Obviamente, em décimos de segundo esse "usuário" estourava o limite de acessos por usuário.

Na tarde desta terça-feira, 24/01, a área de infraestrutura de TI da Câmara informou que o roteamento das requisições ao Dados Abertos seria revisto e passaria a ter um tratamento exclusivo. Estamos no momento aguardando a implementação e a confirmação de funcionamento. Mas medidas já foram tomadas para, ao menos, eliminar o pipocar de erros de acesso que vinham ocorrendo. Eu gostaria de pedir a vocês para observar como está o funcionamento por agora.

Ao fim desta atualização de infraestrutura, o que deve ocorrer até esta quinta-feira (26/01), deverá ser reestabelecido o limite que já era usado no Dados Abertos, de 5 requisições por segundo para cada usuário. Estamos implementando outras alterações na aplicação para que, em breve, possamos também aumentar com segurança este limite.

Mais uma vez peço desculpas pelo problema, e agradeço pela compreensão.

Fabricio Rocha Equipe Dados Abertos - Câmara

YuriSFG commented 1 year ago

Boa noite, estou enfrentando o mesmo problema que vocês...

Conseguiram resolver de alguma forma ou ainda consta do mesmo jeito? estou fazendo as requisições em um ambiente de desenvolvimento e mesmo configurando o proxy (acredito eu que está configurado corretamente) continuo com o mesmo erro.

poderiam de ajudar de alguma forma?

NomiasSR commented 1 year ago

Consegui resolver

On Sat, Jun 3, 2023 at 5:44 PM YURI SALES FERREIRA GONCALVES < @.***> wrote:

Boa noite, estou enfrentando o mesmo problema que vocês...

Conseguiram resolver de alguma forma ou ainda consta do mesmo jeito? estou fazendo as requisições em um ambiente de desenvolvimento e mesmo configurando o proxy (acredito eu que está configurado corretamente) continuo com o mesmo erro.

poderiam de ajudar de alguma forma?

— Reply to this email directly, view it on GitHub https://github.com/CamaraDosDeputados/dados-abertos/issues/329#issuecomment-1575210671, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFNKZL3TDC7YKD5EQOARQO3XJOV4PANCNFSM6AAAAAATXCY62E . You are receiving this because you authored the thread.Message ID: @.***>