Erro 406 não aceitável: o que significa e como corrigir
O erro 406 Não aceitável é um código de status de resposta HTTP e aparece se o servidor não puder retornar os dados corretamente. Como este é um problema do lado do servidor, a solicitação do cliente falhará e o código não será executado corretamente.
Isso pode ser um grande problema, especialmente se você estiver desenvolvendo um serviço que processe diversas solicitações diariamente. Felizmente, existem maneiras de resolver esse problema e hoje mostraremos como fazer isso.
O que é o erro Chamada falhou com código de status 406 não aceitável?
O código de erro 406 aparece se os dados retornados do servidor não estiverem em um formato adequado e compatível com o cliente que fez a solicitação.
Esta é uma medida de segurança, e se o servidor não retornar os dados no formato esperado, o código não será executado.
Como faço para corrigir o erro 406?
1. Ajuste o parâmetro de aceitação em seu código
- Abra seu código.
- Localize a linha que envia a solicitação e altere assim:
profile = personality_insights.profile(profile_text, accept='application/json', content_type='text/plain').get_result()
- Salve as alterações.
Observe que o parâmetro accept só pode usar o valor application/json ou text/csv.
2. Use JSON.stringify
- Abra seu código.
- Certifique-se de adicionar uma função JSON.stringify, como esta:
$.ajax({ url: 'http://example.com:9200/incidents/incidents', type: 'POST', data: JSON.stringify(this.incident), dataType: 'json' })
- Por último, salve as alterações.
Tenha em mente que esta solução só funciona se o objeto não for uma string JSON serializada corretamente.
3. Certifique-se de especificar o agente do usuário no cabeçalho
- Abra seu editor de código.
- Em seguida, adicione os cabeçalhos da solicitação e inclua-os assim:
page_url = 'https://examplepage.com' headers = { 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36', } rawpage = requests.get(page_url,headers=headers)
- Depois de fazer isso, tudo que você precisa fazer é salvar as alterações.
Qual é a diferença entre HTTP 404 e 406?
A resposta de erro do cliente HTTP 406 aparece quando o cliente envia uma solicitação legítima, mas os dados retornados não estão no formato aceito.
Por outro lado, o código de resposta do erro HTTP 404 é um dos erros mais comuns do lado do cliente e provavelmente o erro 4xx mais conhecido. Aparece quando a solicitação não pode ser processada porque os dados solicitados não foram encontrados.
406 Erros não aceitáveis podem aparecer em Java, Angular e qualquer outra linguagem que suporte solicitações HTTP. Esse problema geralmente afeta os desenvolvedores e não os usuários comuns da Internet.
Para corrigir isso, certifique-se de que seu cliente esteja configurado para aceitar o tipo específico de dados do servidor como resposta. Você também pode alterar a configuração do servidor e ajustar os arquivos de configuração para que o servidor e o cliente usem o formato suportado.
Este é apenas um dos muitos erros que você pode encontrar e, no passado, cobrimos o erro HTTP 431 e o erro HTTP 413 , portanto, não os perca se precisar de mais informações.
Qual método você usou para corrigir o erro 406 Não aceitável no Nginx? Compartilhe suas descobertas conosco na seção de comentários.
Deixe um comentário