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
- Otwórz swój kod.
- 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()
- 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
- Otwórz swój kod.
- 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' })
- 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
- Otwórz edytor kodu.
- 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)
- 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