406 Not Acceptable Error: Was es bedeutet und wie man es behebt

406 Not Acceptable Error: Was es bedeutet und wie man es behebt

Der Fehler 406 „Nicht akzeptabel“ ist ein HTTP-Antwortstatuscode und wird angezeigt, wenn der Server die Daten nicht ordnungsgemäß zurückgeben kann. Da es sich um ein serverseitiges Problem handelt, schlägt die Clientanforderung fehl und der Code wird nicht ordnungsgemäß ausgeführt.

Dies kann ein großes Problem darstellen, insbesondere wenn Sie einen Dienst entwickeln, der täglich verschiedene Anfragen verarbeitet. Glücklicherweise gibt es Möglichkeiten, dieses Problem zu beheben, und heute zeigen wir Ihnen, wie das geht.

Was ist der Fehler „Anruf fehlgeschlagen mit Statuscode 406, nicht akzeptabel“?

Dies ist eine Serverfehlermeldung, die angezeigt wird, wenn die eingehende Anfrage nicht erfüllt werden kann. Der Fehlercode 406 wird angezeigt, wenn die vom Server zurückgegebenen Daten nicht das richtige Format haben, das mit dem Client kompatibel ist, der die Anfrage gestellt hat.

Dies ist eine Sicherheitsmaßnahme. Wenn der Server die Daten nicht im erwarteten Format zurückgibt, wird der Code nicht ausgeführt.

Wie behebe ich Fehler 406?

1. Passen Sie den Accept-Parameter in Ihrem Code an

  1. Öffnen Sie Ihren Code.
  2. Suchen Sie die Zeile, die die Anfrage sendet, und ändern Sie sie wie folgt: profile = personality_insights.profile(profile_text, accept='application/json', content_type='text/plain').get_result()
  3. Änderungen speichern.

Beachten Sie, dass der Accept-Parameter nur den Wert application/json oder text/csv verwenden kann.

2. Verwenden Sie JSON.stringify

  1. Öffnen Sie Ihren Code.
  2. Stellen Sie sicher, dass Sie eine JSON.stringify-Funktion hinzufügen, etwa so:$.ajax({ url: 'http://example.com:9200/incidents/incidents', type: 'POST', data: JSON.stringify(this.incident), dataType: 'json' })
  3. Änderungen speichern.

Beachten Sie, dass diese Lösung nur funktioniert, wenn das Objekt keine ordnungsgemäß serialisierte JSON-Zeichenfolge ist.

3. Stellen Sie sicher, dass Sie den Benutzeragenten im Header angeben

  1. Öffnen Sie Ihren Code-Editor.
  2. Fügen Sie als Nächstes die Anforderungsheader hinzu und fügen Sie sie wie folgt ein: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. Änderungen speichern.

Was ist der Unterschied zwischen HTTP 404 und 406?

Die HTTP-406-Clientfehlerantwort wird angezeigt, wenn der Client eine legitime Anfrage sendet, die zurückgegebenen Daten jedoch nicht im akzeptierten Format vorliegen.

Andererseits ist der HTTP-Fehler-404- Antwortcode einer der häufigsten clientseitigen Fehler und wahrscheinlich der bekannteste 4xx-Fehler. Es erscheint, wenn die Anfrage nicht verarbeitet werden kann, weil die angeforderten Daten nicht gefunden wurden.

406 Nicht akzeptable Fehler können in Java, Angular und jeder anderen Sprache auftreten, die HTTP-Anfragen unterstützt. Dieses Problem betrifft normalerweise Entwickler und nicht den durchschnittlichen Internetnutzer.

Um das Problem zu beheben, stellen Sie sicher, dass Ihr Client so konfiguriert ist, dass er den spezifischen Datentyp vom Server als Antwort akzeptiert. Sie können auch die Serverkonfiguration ändern und Konfigurationsdateien anpassen, sodass sowohl der Server als auch der Client das unterstützte Format verwenden.

Dies ist nur einer von vielen Fehlern, auf die Sie stoßen können. In der Vergangenheit haben wir die HTTP-Fehler 431 und HTTP-Fehler 413 behandelt . Lassen Sie sich diese also nicht entgehen, wenn Sie weitere Informationen benötigen.

Mit welcher Methode haben Sie den Fehler 406 „Nicht akzeptabel“ in Nginx behoben? Teilen Sie uns Ihre Erkenntnisse im Kommentarbereich mit.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert