12 Klient HTTP i narzędzia proxy do debugowania sieci Web

Jedną z podstawowych umiejętności programisty i administratora systemu jest debugowanie aplikacji, interfejsu API lub usług, a znajomość odpowiednich narzędzi ratuje życie.

Co to jest debugowanie?

Jeśli oglądasz dramaty kryminalne, idea debugowania nie będzie ci obca. Debugowanie to proces i wymaga wielu taktyk. Jest to systematyczne znajdowanie i rozwiązywanie problemów i błędów w programie.

Poza tym debugowanie rozwiązuje wszystkie problemy, które mogą uniemożliwić prawidłowe działanie oprogramowania lub, w tym przypadku, aplikacji internetowej. Proces debugowania interfejsu API lub aplikacji internetowej obejmuje przede wszystkim próbę odtworzenia problemu.

W związku z tym pojawia się potrzeba wysłania żądania API. W tym właśnie tkwi problem. Większość przeglądarek uniemożliwia zmianę nagłówka źródła, a nawet limitów rozmiaru adresu URL.

Innymi słowy, aby odtworzyć problem, może być konieczne wykonanie pewnych manipulacji HTTP. A to będzie wymagało potężnych narzędzi do debugowania.

Wszystkie składniki lub taktyki procesu debugowania obejmują;

  • Interaktywne debugowanie
  • Analiza przepływu sterowania
  • Testów jednostkowych
  • Testy integracyjne
  • Analiza pliku dziennika
  • Monitorowanie
  • Zrzuty pamięci
  • Profilowy

Warto wiedzieć, że niektórzy klienci HTTP, tj. przeglądarki internetowe, mają wbudowane narzędzia programistyczne. Te narzędzia mogą służyć do debugowania interfejsów API. Mając to na uwadze, nie jest konieczne pisanie narzędzia do debugowania.

Co to jest klient HTTP?

Załóżmy, że myślisz o zbudowaniu systemu, który wykorzystuje protokół HTTP do komunikacji rozproszonej lub obsługuje protokół HTTP, takiego jak aplikacja internetowa. Następnie możesz chcieć spojrzeć na komponent klienta HTTP.

Protokół HTTP lub HyperText Transfer Protocol jest powodem, dla którego możesz komunikować się lub przesyłać dane w Internecie, za każdym razem, gdy wpisujesz adres URL. Jest to protokół aplikacji, który umożliwia przeglądanie Internetu.

Teraz klient HTTP to system, który wysyła żądania do serwera w formacie tekstowym HTTP, a następnie otrzymuje odpowiedź z tego samego serwera.

Niezbędna jest znajomość różnic między klientem HTTP a serwerem HTTP.

Różnice między klientem HTTP a serwerem

Podczas gdy klient HTTP to często przeglądarki internetowe lub narzędzia, serwery HTTP działają jako serwery proxy dla serwerów aplikacji.

Mówiąc prościej, twoje smartfony, telewizory, PlayStation, a właściwie każde urządzenie, które może łączyć się z Internetem, prawdopodobnie korzysta z klienta HTTP.

Podobnie serwer HTTP to komputer sieciowy, z którym łączy się klient HTTP. Ich relacja jest bardziej konwersacyjna. Gdzie klient HTTP wysyła żądanie, a serwer HTTP odpowiada.

Przykłady żądań HTTP

Upraszanie
Wyniki
DOSTAWAĆ
Żąda całego zasobu
GŁOWA
Żąda zasobów bez ciała
POCZTA
Dodaje zawartość do istniejącego zasobu internetowego
POŁOŻYĆ
Modyfikuje istniejący zasób sieciowy
KASOWAĆ
Usuwa określony zasób
NAMIERZAĆ
Pokazuje zmiany w zasobie sieciowym
OPCJE
Pokazuje dostępne metody HTTP dla adresu URL
ŁĄCZYĆ
Konwertuje połączenie żądania na przezroczysty tunel TCP/IP
ŁATA
Częściowo modyfikuje zasób sieciowy

Debugowanie sieci nigdy nie było łatwiejsze. Dzięki tym narzędziom możesz wreszcie się zrelaksować, robiąc to, co lubisz.

HTTPie

Ostatecznym celem HTTPie jest sprawienie, aby interakcja CLI z interfejsem użytkownika usług internetowych była przyjazna. Narzędzie to udostępnia polecenie HTTP do wysyłania żądań, a wszystko to z wykorzystaniem naturalnej składni.

HTTPie może być używany do debugowania, testowania i łączenia się z serwerami HTTP. Obsługuje HTTP, HTTPS i proxy.

Przegląd najważniejszych wydarzeń

  • Wbudowany system obsługi JSON
  • Można zainstalować w systemach Windows, macOS i Linux
  • Niestandardowe nagłówki i metody HTTP
  • Prześlij formularze
  • Tryb offline
  • Uwierzytelnianie podstawowe i szyfrowane
  • Intuicyjna składnia

Nie chcesz instalować HTTPie lokalnie?

Bez obaw, teraz możesz go uruchomić online.

Skrzypek

Skrzypek to wieloplatformowy serwer proxy do debugowania stron internetowych. Może pomóc w manipulowaniu sesjami internetowymi, sprawdzaniu ruchu HTTPS i monitorowaniu ruchu między komputerem a Internetem.

Możesz zainstalować program Fiddler w systemach Windows, macOS i Linux. Jest to prawdopodobnie najpopularniejsze narzędzie do debugowania ruchu.

RESTer

RESTer jest dostępny jako rozszerzenie dla Google Chrome i Firefox.

Przegląd najważniejszych wydarzeń

  • Nagłówki autoryzacji z uwierzytelnianiem podstawowym lub Auth2
  • Wyświetl historię żądań
  • Wykonuj żądania za pomocą dowolnej metody, adresu URL, treści i niestandardowych nagłówków
  • Testowanie i debugowanie API

Łapa

Łapa to w pełni funkcjonalny klient HTTP, który umożliwia wysyłanie wszelkiego rodzaju żądań HTTP. Dzięki Paw możesz testować swoje API, a także odkrywać nowe.

Paw jest przeznaczony wyłącznie dla systemu macOS i ma łatwe w użyciu funkcje. Możesz importować i generować swagger, RAML itp. i obsługuje schemat JSON.

Przegląd najważniejszych wydarzeń

  • Obsługuje wiele uwierzytelnień, takich jak basic, OAuth, hawk, digest
  • Wartości dynamiczne
  • Środowiska
  • Rozszerzaj dzięki rozszerzeniom opartym na java-script
  • Pliki cookie i manipulacja sesjami

Zgłaszający

Zgłaszający to solidny klient, który łączy w sobie funkcje HTTPie, Postman i Paw. Działa tylko z edytorem Sublime Text.

Przegląd najważniejszych wydarzeń

  • Obsługuje schemat JSON
  • Poproś o kolekcje i historię
  • Kolorowe wyjście z podświetlaniem składni
  • Nowoczesny UX
  • Pliki cookie, niestandardowe nagłówki, treść żądania i parametry zapytania można łatwo ustawić.
  • Obsługa GraphQL

Listonosz

Zawsze pracujesz nad API?

Zakochasz się w Postmanie.

Listonosz jest bezsprzecznie jednym z popularniejszych klientów HTTP używanych do debugowania aplikacji internetowych. Pozwala na szybsze i łatwiejsze tworzenie API.

Przegląd najważniejszych wydarzeń

  • Zawiera potężny GUI z przyjaznym dla użytkownika interfejsem
  • Historia wniosków
  • Zautomatyzowane testowanie z programem zbierającym
  • Elastyczne monitorowanie API
  • Obsługa REST, GraphQL, SOAP
  • Obsługa wielu ładunków, w tym JSON i HTML

kędzior

cURL to narzędzie wiersza poleceń, które służy do wysyłania danych przy użyciu składni URL.

Na szczęście cURL jest domyślnie instalowany w większości systemów operacyjnych o smaku UNIX. Obsługuje wiele protokołów, w tym FTP, LDAP, POP3, SMTP, GOPHER, IMAP, HTTP, HTTPS i SCP.

Karol Prokurent

Jak sama nazwa mówi, Prokurent Karola to HTTP i odwrotny serwer proxy. Działa poprzez kierowanie przez nią ruchu lokalnego.

Możesz używać Charlesa do proxy SSL, ograniczania przepustowości, debugowania AJAX, punktów przerwania i nie tylko.

Gwizdać

Gwizdać to wieloplatformowe narzędzie debugowania oparte na NodeJS do przechwytywania i manipulowania ruchem HTTP, HTTPS, WebSocket i TCP.

Najpierw musisz zainstalować NodeJS, a następnie Whistle za pomocą npm.

npm install -g whistle

Zawsze możesz rozszerzyć funkcje za pomocą wtyczki, jeśli domyślne funkcje nie odpowiadają Twoim wymaganiom.

mitmproxy

mitmproxy jest popularnym serwerem proxy HTTPS o otwartym kodzie źródłowym wśród badaczy bezpieczeństwa. Użyj go jako interfejsu API CLI, sieci Web lub Pythona.

Interfejs internetowy zapewnia wygląd i działanie narzędzi programistycznych Chrome. Obsługuje również HTTP/2.

Prokurent

Podobny do wspomnianej wyżej Łapy, Prokurent to natywna aplikacja proxy do debugowania sieci Web w systemie macOS.

Działa jako man-in-the-middle dla ruchu internetowego i oferuje wiele funkcji, w tym następujące.

  • Serwer proxy SSL
  • Powtórz prośby
  • Protobuf
  • Przepisz skrypty
  • Mapa lokalna i zdalna
  • Filtrowanie zawartości
  • Podświetlanie składni

Proxyman UI jest bardzo przyjazny dla człowieka.

Zestaw narzędzi HTTP

Zestaw narzędzi HTTP jest debugerem HTTP typu open source. Jest to aplikacja komputerowa dostępna dla systemów Windows, Mac i Linux.

W przeciwieństwie do innych debugerów HTTP, zestaw narzędzi HTTP Toolkit zapewnia automatyczne ukierunkowane przechwytywanie dla określonych klientów, w tym konfigurację protokołu HTTPS, zamiast przechwytywania wszystkiego z całego komputera, co pozwala uniknąć przechwytywania nieistotnego ruchu lub zakłócania działania innych aplikacji.

Za pomocą jednego kliknięcia możesz przechwycić okna przeglądarki (w tym Chrome, Firefox i inne), języki zaplecza/skryptów, takie jak Node.js, Python i PHP, dowolne narzędzia wiersza poleceń, aplikacje Electron lub urządzenia z systemem Android i emulatory (w tym system- przechwytywania HTTPS).

HTTP Toolkit obsługuje standardowe funkcje debugera HTTP, w tym punkty przerwania i przepisywanie ruchu HTTP(S), filtrowanie i wyszukiwanie zebranego ruchu oraz podświetlanie i autoformatowanie dla wielu popularnych formatów treści żądań i odpowiedzi. Podstawowe funkcje do przechwytywania, sprawdzania i przepisywania HTTP (S) są dostępne za darmo, podczas gdy niektóre zaawansowane funkcje premium, takie jak import / eksport i automatyczne reguły próbne, wymagają płatnego konta.

Wniosek

Powyżsi klienci HTTP i serwer proxy do debugowania sieci mogą ci pomóc na wiele sposobów. Większość z nich jest bezpłatna lub oferuje wersję próbną, więc wypróbuj niektóre z nich, aby zobaczyć, co działa dla Ciebie.

Miłego rozwiązywania problemów!