IniziaInizia gratis

Gestire gli errori dei content-type

Cosa succede quando chiedi una risposta in un formato specifico ma il server non può soddisfare la richiesta? Per esempio, vuoi ricevere la risposta in XML invece che in JSON. Se il server non può rispondere in XML, restituirà un codice di stato specifico che indica che non può rispondere nel formato richiesto. Il codice di stato usato in questo caso è 406 Not Acceptable, o in breve 406. La risposta del server spesso contiene anche un'intestazione accept che include l'elenco di tutti i formati di risposta con cui può rispondere. Usala per scoprire con quali content type l'API può rispondere.

Questo esercizio fa parte del corso

Introduzione alle API in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Aggiungi un'intestazione accept per richiedere al server una risposta con content-type application/xml.
  • Verifica se il server non ha accettato la richiesta usando il relativo codice di stato.
  • Stampa l'elenco dei content type accettati dalla risposta del server.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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)
Modifica ed esegui il codice