---
title: Prosty sposób na testowanie żądań HTTP podczas tworzenia oprogramowania
date: 2021-01-20
categories:
  - development
  - json
  - xml
tags:
  - debugging
  - http-testing
  - json
  - web-services
  - xml
  - xml-editor
  - xmlspy
description: Debuguj usługi internetowe i wiele innych aplikacji za pomocą XMLSpy, który umożliwia łatwe testowanie żądań HTTP do debugowania interfejsów API, usług internetowych, stron internetowych i innych.
---
Status: #blog

Tags:  #debugging #http-testing #json #web-services #xml #xml-editor #xmlspy

Categories: [development](/blog/pl/category/development.md) | [json](/blog/pl/category/json.md) | [xml](/blog/pl/category/xml.md)
# Prosty sposób na testowanie żądań HTTP podczas tworzenia oprogramowania

Programiści tworzący aplikacje internetowe i usługi sieciowe często muszą wysyłać żądania HTTP – zarówno w celu testowania interfejsów API, testowania usług sieciowych REST i SOAP, jak i zarządzania stronami internetowymi.

[XMLSpy](https://www.altova.com/pl/xmlspy-xml-editor/) ułatwia wysyłanie i odbieranie żądań HTTP bezpośrednio w edytorach XML i [JSON](https://www.altova.com/pl/xmlspy-xml-editor/json_editor) podczas procesu tworzenia, dzięki oknu HTTP oraz kreatorowi importu WADL/WSDL, co stanowi doskonałe narzędzie oszczędzające czas podczas debugowania usług internetowych.

![Serwery internetowe – testowanie żądań HTTP](/blog/images/shutterstock_259245062.jpg)

<!--more-->

**Testowanie żądań HTTP**

Protokół HTTP określa sposób przesyłania plików (tekstów, obrazów itp.) przez Internet. Każdy serwer internetowy uruchamia program (znany jako demon), który nieustannie oczekuje na żądania HTTP i przetwarza każde z nich w momencie ich otrzymania.

Na przykład, gdy odwiedzamy stronę główną witryny internetowej, nasza przeglądarka wysyła polecenie HTTP do serwera internetowego tej witryny, żądając pobrania strony głównej. Daemon HTTP serwera odbiera to żądanie i wysyła żądaną stronę. Należy pamiętać, że protokół HTTP jest bezstanowy, co oznacza, że każde polecenie HTTP jest wykonywane niezależnie, bez odniesienia do poprzednich lub następnych poleceń – co może utrudniać testowanie i debugowanie.

Aby ułatwić pracę programistom, okno [testowania HTTP](https://www.altova.com/pl/xmlspy-xml-editor/advanced#http-window) w programie XMLSpy prowadzi krok po kroku przez proces tworzenia i wysyłania żądania HTTP do serwera internetowego. Następnie można odebrać, sprawdzić i rozwiązać problemy z odpowiedzią.

![Testowanie żądań HTTP](/blog/images/http-testing-window.png)

Żądanie jest definiowane w lewej części okna i może składać się z:

- Metoda HTTP żądania (np. GET, PUT, POST) oraz adres URL, do którego jest skierowane żądanie
- Nagłówki HTTP żądania
- Ustawienia połączenia, np. limity czasowe i opcje zabezpieczeń
- Dla metod POST i PUT, treść wiadomości HTTP

Dziewięć oddzielnych zakładek w oknie HTTP umożliwia przechowywanie i testowanie wielu wiadomości, a także przełączanie się między nimi w razie potrzeby.

Po zdefiniowaniu żądania, naciśnij przycisk "Wyślij", aby przesłać je do serwera internetowego. Odpowiedź można od razu analizować w prawym panelu, który wyświetla treść (pokazaną powyżej) oraz informacje nagłówkowe:

![Nagłówek odpowiedzi HTTP](/blog/images/http-header-response.png)

**Importowanie żądania w formacie WADL lub WSDL**

Można również rozpocząć test, importując żądanie z pliku [WADL](https://www.w3.org/Submission/wadl/) (Web Application Description Language), który zawiera czytelną dla maszyn definicję aplikacji działającej w oparciu o protokół HTTP, lub z dokumentu [WSDL](https://www.w3.org/TR/2001/NOTE-wsdl-20010315) opisującego punkty końcowe usługi internetowej SOAP.

Okno HTTP w programie XMLSpy zawiera kreator importu WADL/WSDL, który przeprowadza użytkownika przez proces otwierania pliku, wyboru żądania do przetestowania oraz modyfikowania wszelkich modyfikowalnych parametrów tego żądania.

Następnie żądanie jest importowane do okna HTTP, co umożliwia jego wysłanie i przeglądnięcie odpowiedzi.

![ Testowanie żądania WADL](/blog/images/test-wadl-request.png)

**Debugowanie interfejsu API REST**

Przyjrzyjmy się realnemu przykładowi, wykorzystując okno HTTP do przetestowania odpowiedzi z interfejsu API internetowego. [Portal danych miasta Chicago](https://data.cityofchicago.org/) to publicznie dostępny interfejs API REST, który udostępnia interesujące dane na temat różnych zagadnień, od pozwoleń na budowę, przez budżety miejskie, po liczbę hospitalizacji z powodu astmy w mieście.

W tym przykładzie przyjrzymy się kategorii danych dotyczących ruchu drogowego i skupimy się na zbiorze danych dotyczących naruszeń przepisów dotyczących przejazdu na czerwonym świetle. Mogę wprowadzić adres URL w oknie HTTP, aby pobrać cały zbiór danych. Dodanie ".xml" lub ".json" na końcu żądania określa format zwracanych danych. W tym przypadku wybrałem format XML, ale oczywiście program XMLSpy posiada wbudowane narzędzia do pracy z oboma formatami. Wynik zwrócony przez okno HTTP można zobaczyć poniżej.

![Debugowanie żądania API](/blog/images/api-request.png)

Możemy przeglądać dane w panelu wyników lub kliknąć "Utwórz nowy dokument", aby otworzyć dokument w programie XMLSpy w trybie tekstowym lub tabelarycznym. W tym trybie łatwiej jest przewijać dane i sprawdzić wybrane fragmenty informacji zwróconych przez interfejs API.

![Odpowiedź HTTP w widoku siatki](/blog/images/grid-view.png)

Dzięki danym zawartym w pliku, możemy wykorzystać nawet [XQuery](https://www.altova.com/pl/xmlspy-xml-editor/xquery-editor) do bardziej szczegółowej analizy. Przyjrzyjmy się lokalizacjom kamer, w których odnotowano ponad 20 naruszeń.

![Wykorzystaj XQuery do pobierania danych z interfejsu API](/blog/images/xquery-api-data.png)

Teraz pobierzmy dane ponownie, ale tym razem w formacie JSON.

Oto jak to wygląda w trybie wyświetlania tekstu

![Odpowiedź HTTP w formacie JSON](/blog/images/http-response-json.png)

Można również [przeglądać dane JSON](https://www.altova.com/pl/xmlspy-xml-editor/json_viewer) w unikalnej, graficznej formie siatki JSON w programie XMLSpy, co ułatwia ich wizualizację. Siatka JSON znacznie ułatwia przeglądanie i zrozumienie zwróconych danych, szczególnie w przypadku dużych zbiorów danych, takich jak ten. Edytor JSON zawiera również wbudowane wsparcie dla filtrowania danych za pomocą języka XQuery, jak pokazano poniżej. Przefiltrowałem dane, aby wyświetlić tylko te rekordy, które zawierają skrzyżowania z ulicą Halsted.

![Filtrowanie danych JSON za pomocą XQuery](/blog/images/json-xquery-filter.png)

Okno HTTP, wraz z wbudowanymi narzędziami do przeglądania i edycji, sprawia, że XMLSpy to doskonałe narzędzie do testowania i debugowania interfejsów API, usług internetowych oraz innych aplikacji HTTP.

Pobierz [Bezpłatna wersja próbna programu XMLSpy](https://www.altova.com/pl/xmlspy-xml-editor/download) aby przetestować okno HTTP.
