---
title: Un metodo semplice per testare le richieste HTTP durante lo sviluppo
date: 2021-01-20
categories:
  - development
  - json
  - xml
tags:
  - debugging
  - http-testing
  - json
  - web-services
  - xml
  - xml-editor
  - xmlspy
description: Debuggare servizi web e altro ancora con XMLSpy, dove è facile testare le richieste HTTP per il debug di API, servizi web, siti web e altro ancora.
---
Status: #blog

Tags:  #debugging #http-testing #json #web-services #xml #xml-editor #xmlspy

Categories: [development](/blog/it/category/development.md) | [json](/blog/it/category/json.md) | [xml](/blog/it/category/xml.md)
# Un metodo semplice per testare le richieste HTTP durante lo sviluppo

Gli sviluppatori di applicazioni web e servizi web spesso devono inviare richieste HTTP, che siano per testare API, per testare servizi web REST e SOAP, o per gestire siti web.

[XMLSpy](https://www.altova.com/it/xmlspy-xml-editor/) semplifica l'invio e la ricezione di richieste HTTP direttamente all'interno degli editor XML e [JSON](https://www.altova.com/it/xmlspy-xml-editor/json_editor) durante la fase di sviluppo, grazie alla sua finestra HTTP e alla procedura guidata di importazione di WADL/WSDL, uno strumento molto utile per risparmiare tempo nella fase di debug dei servizi web.

![Server web: test di richieste HTTP](/blog/images/shutterstock_259245062.jpg)

<!--more-->

**Test di richieste HTTP**

Il protocollo HTTP definisce il modo in cui i file (testi, immagini, ecc.) vengono trasmessi su Internet. Ogni server web esegue un programma (chiamato "demone") che attende continuamente le richieste HTTP e le gestisce una volta ricevute.

Ad esempio, quando si visita la pagina principale di un sito web, il browser invia un comando HTTP al server web del sito, richiedendo il download della pagina principale; il server riceve la richiesta tramite il suo demone HTTP e invia la pagina richiesta. È importante notare che il protocollo HTTP è "stateless", il che significa che ogni comando HTTP viene eseguito indipendentemente, senza alcun riferimento a comandi precedenti o successivi, e questo può rendere complessi i processi di test e debug.

Per aiutare gli sviluppatori in questo, l'azienda [Finestra di test HTTP](https://www.altova.com/it/xmlspy-xml-editor/advanced#http-window) In XMLSpy, la procedura di creazione e invio di una richiesta HTTP a un server web viene guidata passo dopo passo. Successivamente, è possibile ricevere, verificare e risolvere eventuali problemi relativi alla risposta.

![Testare le richieste HTTP](/blog/images/http-testing-window.png)

Una richiesta è definita nel pannello di sinistra della finestra e può essere composta da:

- Il metodo HTTP della richiesta (GET, PUT, POST, ecc.) e l'URL di destinazione
- Intestazioni HTTP della richiesta
- Impostazioni di connessione, ad esempio, timeout e opzioni di sicurezza
- Per i metodi POST e PUT, il corpo del messaggio HTTP

Nove schede separate nella finestra HTTP consentono di memorizzare e testare diversi messaggi, e di passare da uno all'altro in base alle esigenze.

Una volta definita la richiesta, premere "Invia" per inviarla al server web. È possibile analizzare immediatamente la risposta nel pannello a destra, che mostra il corpo della risposta (come mostrato sopra) e le informazioni dell'intestazione:

![Intestazione di risposta HTTP](/blog/images/http-header-response.png)

**Importare una richiesta WADL o WSDL**

È inoltre possibile avviare un test importando una richiesta da un file [WADL](https://www.w3.org/Submission/wadl/) (Web Application Description Language), che fornisce una descrizione leggibile dalle macchine di un'applicazione basata su HTTP, oppure da un documento [WSDL](https://www.w3.org/TR/2001/NOTE-wsdl-20010315) che descrive gli endpoint di un servizio web SOAP.

La finestra HTTP di XMLSpy include una procedura guidata per l'importazione di file WADL/WSDL, che vi guiderà attraverso l'apertura di un file, la selezione di una richiesta da testare e la modifica di eventuali parametri modificabili della richiesta.

Successivamente, la richiesta viene importata nella finestra HTTP, consentendo di inviarla e visualizzare la risposta.

![ Testare una richiesta WADL](/blog/images/test-wadl-request.png)

**Debuggare un'API REST**

Esaminiamo un esempio pratico, utilizzando la finestra HTTP per testare la risposta di un'API web. Il [Portale dati della città di Chicago](https://data.cityofchicago.org/) è un'API REST pubblicamente accessibile che fornisce dati interessanti su una vasta gamma di argomenti, dalle autorizzazioni edilizie ai bilanci comunali, fino al numero di ricoveri ospedalieri per asma nella città.

Per questo esempio, analizzeremo la categoria del traffico e ci concentreremo su un set di dati relativo alle violazioni dei semafori. Posso inserire l'URL nella finestra HTTP per ottenere l'intero set di dati, e specificare il formato dei dati restituiti aggiungendo ".xml" o ".json" alla fine della richiesta. In questa occasione, ho scelto il formato XML, ma, ovviamente, XMLSpy dispone di strumenti integrati per lavorare con entrambi i formati. Di seguito è possibile visualizzare il risultato restituito dalla finestra HTTP.

![Debuggare una richiesta API](/blog/images/api-request.png)

Possiamo visualizzare i dati nel pannello dei risultati oppure possiamo cliccare su "Crea nuovo documento" per aprire il documento in XMLSpy, in modalità testo o a griglia, dove è più facile scorrere e controllare i dati restituiti dall'API.

![Risposta HTTP visualizzata in formato a griglia](/blog/images/grid-view.png)

Una volta che i dati sono in un file, possiamo utilizzare anche [XQuery](https://www.altova.com/it/xmlspy-xml-editor/xquery-editor) per analizzarli più approfonditamente. Esaminiamo, ad esempio, le posizioni delle telecamere che hanno registrato più di 20 infrazioni.

![Interrogare i dati dell'API utilizzando XQuery](/blog/images/xquery-api-data.png)

Ora, recuperiamo nuovamente i dati, ma questa volta in formato JSON.

Ecco come si apre in modalità testo

![Risposta HTTP in formato JSON](/blog/images/http-response-json.png)

È inoltre possibile [visualizzare il JSON](https://www.altova.com/it/xmlspy-xml-editor/json_viewer) nella visualizzazione a griglia JSON unica di XMLSpy, per una rappresentazione grafica. La griglia JSON semplifica notevolmente la scansione e la comprensione dei dati restituiti, soprattutto quando si tratta di set di dati di grandi dimensioni come questo. L'editor JSON include anche un supporto integrato per il filtraggio dei dati tramite XQuery, come mostrato di seguito. Ho filtrato i dati per visualizzare solo i record che includono incroci con Halsted Street.

![Filtrare i dati JSON con XQuery](/blog/images/json-xquery-filter.png)

La finestra HTTP, insieme agli strumenti integrati di visualizzazione e modifica, rende XMLSpy uno strumento eccellente per testare e risolvere i problemi di API, servizi web e altre applicazioni HTTP.

Scarica un [Prova gratuita di XMLSpy](https://www.altova.com/it/xmlspy-xml-editor/download) per provare la finestra HTTP.
