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

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, szczególnie 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 Ci, 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.

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

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 używać tylko wartości application/json lub text/csv.

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 w nagłówku podałeś klienta użytkownika

  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, kod odpowiedzi na błąd HTTP 404 jest jednym z najczęstszych błędów po stronie klienta i prawdopodobnie najbardziej znanym błędem 4xx. Pojawia się, gdy żądanie nie może zostać przetworzone, ponieważ nie znaleziono żądanych danych.

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ć. W przeszłości omawialiśmy błędy HTTP 431 i 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.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *