Erste SchritteKostenlos loslegen

Behandlung von Fehlern bei den Inhaltstypen

Was passiert, wenn du eine Antwort in einem bestimmten Format verlangst, aber der Server diese Anfrage nicht erfüllen kann? Angenommen, du möchtest die Antwort als XML und nicht als JSON erhalten. Wenn der Server nicht in XML antworten kann, antwortet er mit einem bestimmten Statuscode, der anzeigt, dass er nicht im angeforderten Format antworten kann. Der in diesem Fall verwendete Statuscode lautet 406 Not Acceptable oder kurz 406. Die Antwort des Servers enthält außerdem häufig einen accept Header, der eine Liste aller Antwortformate enthält, mit denen er antworten kann. Hier erfährst du, mit welchen Inhaltstypen die API antworten kann.

Diese Übung ist Teil des Kurses

Einführung in APIs in Python

Kurs anzeigen

Anleitung zur Übung

  • Füge einen accept Header hinzu, um eine Antwort im application/xml content-type vom Server anzufordern.
  • Prüfe anhand des entsprechenden Statuscodes, ob der Server die Anfrage nicht akzeptiert hat.
  • Druckt eine Liste der akzeptierten Inhaltstypen aus der Serverantwort aus.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

# Add a header to use in the request
headers = {____}
response = requests.get('http://localhost:3000/lyrics', headers=headers)

# Check if the server did not accept the request
if (response.____ == ____):
  print('The server can not respond in XML')
  
  # Print the accepted content types
  print('These are the content types the server accepts: ' + response.____)
else:
  print(response.text)
Bearbeiten und Ausführen von Code