Eine der wesentlichen Fähigkeiten für Entwickler und Systemadministratoren besteht darin, die Anwendung, API oder Dienste zu debuggen, und die richtigen Tools zu kennen, ist ein Lebensretter.

Was ist Debugging?

Wenn Sie sich Krimis ansehen, ist Ihnen die Idee hinter dem Debuggen nicht fremd. Das Debuggen ist ein Prozess, der viele Taktiken erfordert. Es ist das systematische Auffinden und Lösen von Problemen und Fehlern innerhalb eines Programms.

Außerdem werden durch das Debuggen alle Probleme behoben, die den ordnungsgemäßen Betrieb der Software oder in diesem Fall der Webanwendung verhindern können. Der Prozess von Debuggen Ihrer API Bei einer Webanwendung wird in erster Linie versucht, das Problem zu reproduzieren.

Folglich besteht die Notwendigkeit, eine API-Anfrage zu versenden. Hier liegt nun das Problem. Die meisten Browser verhindern, dass Sie den Ursprungsheader und sogar die Beschränkungen der URL-Größe ändern.

Mit anderen Worten, um das Problem zu reproduzieren, müssen Sie möglicherweise einige HTTP-Manipulationen durchführen. Und dies erfordert einige leistungsstarke Debugging-Tools.

Alle Komponenten oder Taktiken des Debugging-Prozesses umfassen:

  • Interaktives Debuggen
  • Kontrollflussanalyse
  • Unit-Test
  • Integrationstests
  • Logfile-Analyse
  • Netzwerk Performance
  • Speicherabbilder
  • Profiling

Es ist interessant zu wissen, dass einige HTTP-Clients, dh Webbrowser, über integrierte Webentwickler-Tools verfügen. Diese Tools können zum Debuggen von APIs verwendet werden. In diesem Sinne ist es nicht erforderlich, Ihr Debugging-Tool zu schreiben.

Was ist ein HTTP-Client?

Angenommen, Sie möchten ein System erstellen, das das HTTP-Protokoll für verteilte Kommunikation nutzt oder HTTP-fähig ist, z. B. eine Webanwendung. Dann möchten Sie vielleicht die HTTP-Client-Komponente betrachten.

Das HTTP oder HyperText Transfer Protocol ist der Grund, warum Sie bei jeder Eingabe einer URL Daten im Web kommunizieren oder übertragen können. Es ist ein Anwendungsprotokoll, das das Surfen im Internet ermöglicht.

Jetzt ist der HTTP-Client ein System, das Anforderungen im HTTP-Textformat an einen Server sendet und wiederum eine Antwort von demselben Server empfängt.

Es ist wichtig, die Unterschiede zwischen einem HTTP-Client und dem HTTP-Server zu kennen.

Unterschiede zwischen HTTP-Client und -Server

Während der HTTP-Client häufig ein Webbrowser oder ein Dienstprogramm ist, fungieren HTTP-Server als Proxys für Anwendungsserver.

In einfacheren Worten, Ihre Smartphones, Fernseher, PlayStation, wirklich jedes Gerät, das eine Verbindung zum Internet herstellen kann, verwenden wahrscheinlich einen HTTP-Client.

Ebenso ist der HTTP-Server der Netzwerkcomputer, mit dem der HTTP-Client eine Verbindung herstellt. Die Beziehung, die sie teilen, ist eher eine gesprächige. Wo der HTTP-Client eine Anfrage sendet und der HTTP-Server antwortet.

Beispiele für HTTP-Anfragen

Anfragen Outcomes
GET Fordert die gesamte Ressource an
KOPF Fordert eine Ressource ohne den Körper an
& schalten Sie Fügt einer vorhandenen Webressource Inhalt hinzu
SETZEN Ändert eine vorhandene Webressource
LÖSCHEN Entfernt eine angegebene Ressource
SPUR Zeigt die Änderungen an einer Webressource an
OPTIONAL Zeigt verfügbare HTTP-Methoden für die URL an
CONNECT Konvertiert die Anforderungsverbindung in einen transparenten TCP / IP-Tunnel
PATCH Ändert teilweise eine Webressource

Das Debuggen im Web war noch nie einfacher. Mit diesen Tools können Sie sich endlich entspannen, während Sie das tun, was Ihnen Spaß macht.

HTTPie

Das ultimative Ziel von HTTPie ist es, die CLI-Interaktion mit der Benutzeroberfläche von Webdiensten benutzerfreundlich zu gestalten. Dieses Tool bietet einen HTTP-Befehl zum Senden von Anforderungen, die alle eine natürliche Syntax verwenden.

HTTPie kann zum Debuggen, Testen und Herstellen einer Verbindung mit HTTP-Servern verwendet werden. Es unterstützt HTTP, HTTPS und Proxys.

Highlights

  • Eingebautes JSON-Unterstützungssystem
  • Kann unter Windows, MacOS und Linux installiert werden
  • Benutzerdefinierte HTTP-Header und -Methode
  • Formulare einreichen
  • Offline-Modus
  • Basis- und Digest-Authentifizierung
  • Intuitive Syntax

Möchten Sie HTTPie nicht lokal installieren?

Keine Sorge, jetzt können Sie es ausführen Online.

Fiddler

Fiedler ist ein plattformübergreifender Web-Debugging-Proxy. Es kann dabei helfen, Websitzungen zu manipulieren, den HTTPS-Verkehr zu überprüfen und den Verkehr zwischen Ihrem Computer und dem Internet zu überwachen.

YouTube-Video

Sie können Fiddler unter Windows, MacOS und Linux installieren. Es ist wahrscheinlich das beliebteste Tool zum Debuggen von Datenverkehr.

RESTer

RESTer ist als Erweiterung für Google Chrome und Firefox verfügbar.

Highlights

  • Autorisierungsheader mit Basic- oder Auth2-Authentifizierung
  • Anforderungsverlauf anzeigen
  • Führen Sie Anforderungen mit einer beliebigen Methode, URL, einem beliebigen Text und benutzerdefinierten Headern aus
  • Testen und Debuggen von APIs

Paw

Pfote ist ein HTTP-Client mit vollem Funktionsumfang, mit dem Sie alle Arten von HTTP-Anforderungen senden können. Mit Paw können Sie Ihre APIs testen und auch neue erkunden.

Paw ist exklusiv für gebaut MacOSund es hat Funktionen, die einfach zu bedienen sind. Sie können Swagger, RAML usw. importieren und generieren und es unterstützt das JSON-Schema.

Highlights

  • Unterstützt mehrere Authentifizierungen wie Basic, OAuth, Hawk, Digest
  • Dynamische Werte
  • Environments
  • Erweitern Sie durch Java-Skript-basierte Erweiterungen
  • Cookies und Sitzungsmanipulation

Requester

Antragsteller ist ein robuster Client, der die Funktionen von HTTPie, Postman und Paw kombiniert. Es funktioniert nur mit dem Sublime Text Editor.

YouTube-Video

Highlights

  • Unterstützt JSON Schemer
  • Sammlungen und Verlauf anfordern
  • Farbige Ausgabe mit Syntaxhervorhebung
  • Modernes UX
  • Cookies, benutzerdefinierte Header, Anforderungshauptteile und Abfrageparameter können einfach festgelegt werden.
  • GraphQL-Unterstützung

Postman

Immer an APIs arbeiten?

Sie werden sich in Postman verlieben.

Postman ist zweifellos einer der beliebtesten HTTP-Clients, die zum Debuggen von Webanwendungen verwendet werden. Es ermöglicht eine schnellere und einfachere API-Entwicklung.

Highlights

  • Packt eine leistungsstarke GUI mit einer benutzerfreundlichen Oberfläche
  • Verlauf der Anfragen
  • Automatisiertes Testen mit Sammelläufer
  • Flexible API-Überwachung
  • Unterstützt REST, GraphQL, SOAP
  • Unterstützung für mehrere Nutzdaten, einschließlich JSON und HTML

cURL

cURL ist ein Befehlszeilentool, das zum Senden von Daten mithilfe der URL-Syntax verwendet wird.

Das Gute daran ist, dass cURL standardmäßig auf den meisten UNIX-basierten Betriebssystemen installiert ist. Es unterstützt viele Protokolle, einschließlich FTP, LDAP, POP3, SMTP, GOPHER, IMAP, HTTP, HTTPS und SCP.

Charles Proxy

Wie der Name sagt, Charles Proxy ist ein HTTP- und Reverse-Proxy. Es funktioniert, indem lokaler Verkehr durch ihn geleitet wird.

Sie können Charles für SSL-Proxy, Bandbreitendrosselung, AJAX-Debugging, Haltepunkte und mehr verwenden.

Whistle

Pfeifen ist ein NodeJS-basiertes plattformübergreifendes Debugging-Tool zum Erfassen und Bearbeiten von HTTP-, HTTPS-, WebSocket- und TCP-Datenverkehr.

Zunächst müssen Sie auf Installieren Sie NodeJS und dann mit npm pfeifen.

npm install -g whistle

Sie können die Funktionen jederzeit mit dem Plugin erweitern, wenn die Standardfunktionen nicht Ihren Anforderungen entsprechen.

mitmproxy

Mitmproxy ist ein beliebter Open-Source-HTTPS-Proxy unter Sicherheitsforschern. Verwenden Sie es als CLI-, Web- oder Python-API.

Die Weboberfläche bietet Ihnen das Erscheinungsbild von Chrome-Entwicklertools. Es unterstützt auch HTTP / 2.

Proxyman

Ähnlich wie bei der oben erwähnten Pfote, Stellvertreter ist eine native Premium-MacOS-Web-Debugging-Proxy-Anwendung.

Es fungiert als Man-in-the-Middle für den Web-Verkehr und bietet viele Funktionen, darunter die folgenden.

  • SSL-Proxy
  • Anfragen wiederholen
  • Protobuf
  • Schreiben Sie Skripte neu
  • Lokale und entfernte Karte
  • Content-Filtering
  • Satzstellung markieren

Die Proxyman-Benutzeroberfläche ist sehr menschenfreundlich.

HTTP Toolkit

HTTP-Toolkit ist ein Open-Source-HTTP-Debugger. Es ist eine Desktop-App für Windows, Mac und Linux.

Im Gegensatz zu anderen HTTP-Debuggern bietet das HTTP-Toolkit automatisch ein gezieltes Abfangen für bestimmte Clients, einschließlich der HTTPS-Einrichtung, anstatt alles von Ihrem gesamten Computer abzufangen, und vermeidet so das Erfassen irrelevanten Datenverkehrs oder das Unterbrechen anderer Anwendungen.

YouTube-Video

Mit einem Klick können Sie Browserfenster (einschließlich Chrome, Firefox und mehr), Backend- / Skriptsprachen wie Node.js, Python und PHP, Befehlszeilentools, Electron-Apps oder Android-Geräte und -Emulatoren (einschließlich System-) abfangen. Level HTTPS Interception).

Das HTTP-Toolkit unterstützt Standardfunktionen des HTTP-Debuggers, einschließlich Haltepunkten und Umschreiben des HTTP (S) -Verkehrs, Filtern und Durchsuchen des gesammelten Datenverkehrs sowie Hervorheben und automatisches Formatieren für viele gängige Anforderungs- und Antworttextformate. Die Hauptfunktionen zum Abfangen, Überprüfen und Umschreiben von HTTP (S) sind kostenlos verfügbar, während für einige erweiterte Premiumfunktionen wie Import / Export und automatisierte Mock-Regeln ein kostenpflichtiges Konto erforderlich ist.

Fazit

Die oben genannten HTTP-Clients und der Web-Debugging-Proxy können Ihnen in vielerlei Hinsicht helfen. Die meisten von ihnen sind kostenlos oder bieten eine Testversion an. Probieren Sie einige davon aus, um zu sehen, was für Sie funktioniert.

glücklich Fehlersuche!