Błąd 406 Nieakceptowalny: co oznacza i jak go naprawić

Ten błąd pojawia się, gdy serwer zwraca dane w nieobsługiwanym formacie

  • Aby naprawić błąd 406 Niedopuszczalny w programie Postman, dostosuj i dodaj parametr akceptacji do swojego żądania.
  • W niektórych przypadkach może być konieczne dostosowanie nagłówka i określenie klienta użytkownika.

406 Niedopuszczalny błąd to kod stanu odpowiedzi HTTP, który pojawia się, gdy serwer nie może poprawnie zwrócić danych. Ponieważ jest to problem po stronie serwera, żądanie klienta nie powiedzie się, a kod nie zostanie poprawnie wykonany.

Może to stanowić poważny problem, zwłaszcza jeśli tworzysz usługę, która codziennie przetwarza różne żądania. Na szczęście istnieją sposoby na rozwiązanie tego problemu, a dzisiaj pokażemy, jak to zrobić.

Co to jest połączenie nie powiodło się i kod stanu 406 jest niedopuszczalnym błędem?

Jest to komunikat o błędzie serwera, który pojawia się, jeśli żądanie przychodzące nie może zostać zrealizowane. Kod błędu 406 pojawia się, jeśli dane zwrócone z serwera nie są w odpowiednim formacie, zgodnym z klientem, który wysłał żądanie.

Jak testujemy, recenzujemy i oceniamy?

Przez ostatnie 6 miesięcy pracowaliśmy nad stworzeniem nowego systemu oceny sposobu, w jaki tworzymy treści. Korzystając z niego, później przerobiliśmy większość naszych artykułów, aby zapewnić praktyczną wiedzę na temat stworzonych przez nas przewodników.

Aby uzyskać więcej szczegółów, możesz przeczytać jak testujemy, recenzujemy i oceniamy w WindowsReport.

Jest to środek bezpieczeństwa i jeśli serwer nie zwróci danych w oczekiwanym formacie, kod nie zostanie wykonany.

W tym artykule
  • Jak naprawić błąd 406?
  • 1. Dostosuj parametr Accept w swoim kodzie
  • 2. Użyj JSON.stringify
  • 3. Upewnij się, że określiłeś klienta użytkownika w nagłówku
  • Jaka jest różnica między HTTP 404 a 406?

Jak naprawić błąd 406?

1. Dostosuj parametr Accept w swoim kodzie

  1. Otwórz swój kod.
  2. Znajdź linię wysyłającą żądanie i zmień ją w następujący sposób: profile = personality_insights.profile(profile_text, accept='application/json', content_type='text/plain').get_result()
  3. Zapisz zmiany.

Należy pamiętać, że parametr Accept może być używany tylko aplikacja/json Lub tekst/csv wartość.

2. Użyj JSON.stringify

  1. Otwórz swój kod.
  2. Upewnij się, że dodałeś funkcję JSON.stringify, taką jak ta:
    $.ajax({ url: 'http://example.com: 9200/incidents/incidents', type: 'POST', data: JSON.stringify(this.incident), dataType: 'json' })
  3. Zapisz zmiany.

Należy pamiętać, że to rozwiązanie działa tylko wtedy, gdy obiekt nie jest poprawnie serializowanym ciągiem JSON.

3. Upewnij się, że określiłeś klienta użytkownika w nagłówku

  1. Otwórz edytor kodu.
  2. Następnie dodaj nagłówki żądań i dołącz je w następujący sposób:
    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)
  3. Zapisz zmiany.

Jaka jest różnica między HTTP 404 a 406?

Odpowiedź na błąd klienta HTTP 406 pojawia się, gdy klient wysyła uzasadnione żądanie, ale zwrócone dane nie są w akceptowanym formacie.

Z drugiej strony, Błąd HTTP 404 kod odpowiedzi to jeden z najczęstszych błędów po stronie klienta i prawdopodobnie najbardziej znany błąd 4xx. Pojawia się, gdy żądanie nie może zostać przetworzone, ponieważ nie znaleziono żądanych danych.

Przeczytaj więcej na ten temat
  • Błąd certyfikatu doh.xfinity.com: jak to naprawić
  • Kod błędu Paramount Plus 1100: jak to naprawić
  • Błąd Cloudflare 1001: jak naprawić ten problem z DNS

406 Niedopuszczalne błędy mogą pojawić się w Javie, Angularze i każdym innym języku obsługującym żądania HTTP. Problem ten zwykle dotyczy programistów, a nie przeciętnych użytkowników Internetu.

Aby to naprawić, upewnij się, że Twój klient jest skonfigurowany tak, aby akceptował w odpowiedzi określony typ danych z serwera. Można także zmienić konfigurację serwera i dostosować pliki konfiguracyjne, tak aby zarówno serwer, jak i klient korzystały z obsługiwanego formatu.

To tylko jeden z wielu błędów, które możesz napotkać i które już omawialiśmy Błąd HTTP 431 I Błąd HTTP 413, więc nie przegap ich, jeśli potrzebujesz więcej informacji.

Jakiej metody użyłeś, aby naprawić błąd 406 Nieakceptowalny w Nginx? Podziel się z nami swoimi odkryciami w sekcji komentarzy.

Rozwiązano: Wystąpił błąd podczas inicjalizacji maszyny wirtualnej

Rozwiązano: Wystąpił błąd podczas inicjalizacji maszyny wirtualnejProblemy Z PamięciąSerwerV Mware

Początkowa sterta pamięci Java jest zbyt dużaAby naprawić błąd występujący podczas inicjalizacji maszyny wirtualnej, uruchom wiersz java -Xms256m -Xmx512M w wierszu poleceń.Możesz także edytować pl...

Czytaj więcej
Błąd serwera SQL 0x80040e14: jak go naprawić

Błąd serwera SQL 0x80040e14: jak go naprawićSerwerSerwer Sql

Spróbuj ponownie uruchomić serwer, aby odświeżyć jego ustawieniaBłąd 0x80040e14 może wystąpić, gdy masz niewystarczającą ilość pamięci w serwerze SQL.Pamięć jest ważnym elementem, jeśli oczekujesz,...

Czytaj więcej
Rozwiązano: Błąd Alabasterbearda w Sea of ​​Thieves

Rozwiązano: Błąd Alabasterbearda w Sea of ​​ThievesSerwer

Aby naprawić ten błąd połączenia, upewnij się, że gra jest aktualnaAby naprawić błąd SoT Alabasterbeard, upewnij się, że funkcja crossplay jest włączona.Jeśli masz do czynienia z tym błędem, czasam...

Czytaj więcej