12 HTTP-klient- og webfejlfindings-proxyværktøjer

En af de væsentlige færdigheder for en udvikler og systemadministrator er at fejlfinde applikationen, API’en eller tjenesterne, og at kende de rigtige værktøjer er en livredder.

Hvad er debugging?

Hvis du ser krimidramaer, vil ideen bag fejlretning ikke være fremmed for dig. Debugging er en proces, og det involverer en masse taktik. Det er den systematiske at finde og løse problemer og fejl i et program.

Desuden sorterer debugging alle de problemer, der kan forhindre den korrekte drift af software eller, i dette tilfælde, webapplikationen. Processen med at fejlfinde din API eller webapplikation involverer primært et forsøg på at genskabe problemet.

Derfor opstår behovet for at udsende en API-anmodning. Nu er det her problemet ligger. De fleste browsere vil forhindre dig i at ændre oprindelsesheaderen og endda grænserne for URL-størrelse.

Med andre ord, for at reproducere problemet, skal du muligvis udføre nogle HTTP-manipulationer. Og dette vil kræve nogle kraftfulde fejlfindingsværktøjer.

Alle komponenter eller taktikker i fejlretningsprocessen inkluderer;

  • Interaktiv debugging
  • Kontrol flow analyse
  • Enhedstest
  • Integrationstest
  • Logfil analyse
  • Overvågning
  • Memory Dumps
  • Profilering

Det er interessant at vide, at nogle HTTP-klienter, dvs. webbrowsere, har indbyggede webudviklerværktøjer. Disse værktøjer kan bruges til at fejlsøge API’er. Med dette i tankerne er det ikke nødvendigt at skrive dit fejlfindingsværktøj.

Hvad er HTTP-klient?

Antag, at du tænker på at bygge et system, der udnytter HTTP-protokollen til distribueret kommunikation eller HTTP-bevidst, såsom en webapplikation. Så vil du måske se på HTTP-klientkomponenten.

HTTP, eller HyperText Transfer Protocol, er grunden til, at du kan kommunikere eller overføre data på nettet, hver gang du indtaster en URL. Det er en applikationsprotokol, der gør det muligt at surfe på internettet.

  Hvordan (og hvorfor!) oprettes et iscenesættelsessted til WordPress?

Nu er HTTP-klienten et system, der sender anmodninger til en server i HTTP-tekstformat og til gengæld modtager et svar fra den samme server.

Det er vigtigt at kende forskellene mellem en HTTP-klient og HTTP-serveren.

Forskelle mellem HTTP-klient og server

Mens HTTP-klienten ofte er webbrowsere eller hjælpeprogrammer, fungerer HTTP-servere som proxyer til applikationsservere.

Med enklere ord bruger dine smartphones, tv’er, PlayStation, virkelig enhver enhed, der kan oprette forbindelse til internettet, sandsynligvis en HTTP-klient.

På samme måde er HTTP-serveren den netværkscomputer, som HTTP-klienten opretter forbindelse til. Det forhold, de deler, er mere en samtale. Hvor HTTP-klienten sender en anmodning, og HTTP-serveren svarer.

Eksempler på HTTP-anmodninger

Forespørgsler
Resultater

Anmoder om hele ressourcen
HOVED
Anmoder om ressource uden kroppen
STOLPE
Tilføjer indhold til en eksisterende webressource
SÆTTE
Ændrer en eksisterende webressource
SLET
Fjerner en specificeret ressource
SPOR
Viser ændringerne af en webressource
MULIGHEDER
Viser tilgængelige HTTP-metoder for URL’en
OPRET FORBINDELSE
Konverterer anmodningsforbindelsen til en gennemsigtig TCP/IP-tunnel
LAPPE
Modificerer delvist en webressource

Debugging på nettet har aldrig været nemmere. Med disse værktøjer kan du endelig slappe af, mens du gør det, du nyder.

HTTPie

Det ultimative mål med HTTPie er at gøre CLI-interaktion med webtjenester brugergrænsefladevenlig. Dette værktøj giver en HTTP-kommando til at sende anmodninger, alt sammen med brug af en naturlig syntaks.

HTTPie kan bruges til at fejlfinde, teste og oprette forbindelse til HTTP-servere. Det understøtter HTTP, HTTPS og proxyer.

Højdepunkter

  • Indbygget JSON supportsystem
  • Kan installeres på Windows, macOS og Linux
  • Brugerdefinerede HTTP-headere og -metode
  • Indsend formularer
  • Offline tilstand
  • Grundlæggende godkendelse og fordøjelsesgodkendelse
  • Intuitiv syntaks

Vil du ikke installere HTTPie lokalt?

Ingen bekymringer, nu kan du køre det online.

Violinist

Violinist er en web-debugging-proxy på tværs af platforme. Det kan hjælpe med at manipulere websessioner, inspicere HTTPS-trafik og overvåge trafikken mellem din computer og internettet.

  Sådan blokerer du websteder med en adgangskode

Du kan installere Fiddler på Windows, macOS og Linux. Det er sandsynligvis det mest populære værktøj til at fejlsøge trafik.

RESTer

RESTer er tilgængelig som en udvidelse til Google Chrome og Firefox.

Højdepunkter

  • Autorisationsoverskrifter med Basic eller Auth2-godkendelse
  • Se anmodningshistorik
  • Udfør anmodninger med en hvilken som helst metode, URL, brødtekst og tilpassede overskrifter
  • Test og fejlretning af API’er

Pote

Pote er en fuldt udstyret HTTP-klient, som giver dig mulighed for at sende alle slags HTTP-anmodninger. Med Paw kan du teste dine API’er og også udforske nye.

Paw er udelukkende bygget til macOS, og den har funktioner, der er nemme at bruge. Du kan importere og generere swagger, RAML osv. og det understøtter JSON-skema.

Højdepunkter

  • Understøtter flere godkendelser som basic, OAuth, hawk, digest
  • Dynamiske værdier
  • Miljøer
  • Udvid gennem java-script-baserede udvidelser
  • Cookies og sessionsmanipulation

Anmoder

Anmoder er en robust klient, der kombinerer funktionerne i HTTPie, Postman og Paw. Det virker kun med Sublime Text editor.

Højdepunkter

  • Understøtter JSON Schemer
  • Anmod om samlinger og historie
  • Farvelagt output med syntaksfremhævning
  • Moderne UX
  • Cookies, tilpassede overskrifter, anmodningstekst og forespørgselsparametre er nemme at indstille.
  • GraphQL understøttelse

Postbud

Arbejder du altid på API’er?

Du vil blive forelsket i Postman.

Postbud er uden tvivl en af ​​de mere populære HTTP-klienter, der bruges til fejlretning af webapplikationer. Det giver mulighed for hurtigere og nemmere API-udvikling.

Højdepunkter

  • Pakker en kraftfuld GUI med en brugervenlig grænseflade
  • Historie af anmodninger
  • Automatiseret test med opsamlingsløber
  • Fleksibel API-overvågning
  • Support REST, GraphQL, SOAP
  • Understøttelse af flere nyttelaster inklusive JSON og HTML

krølle

cURL er et kommandolinjeværktøj, der bruges til at sende data ved hjælp af URL-syntaks.

Det gode er, at cURL er som standard installeret på de fleste af de UNIX-smagsbaserede operativsystemer. Det understøtter mange protokoller, herunder FTP, LDAP, POP3, SMTP, GOPHER, IMAP, HTTP, HTTPS og SCP.

Charles Proxy

Som navnet siger, Charles fuldmægtig er en HTTP og omvendt proxy. Det virker ved at dirigere lokal trafik igennem det.

  Sådan tilføjer du tredjepartslagre og RPM'er i Fedora

Du kan bruge Charles til SSL-proxying, båndbredderegulering, AJAX-fejlretning, breakpoints og mere.

Fløjte

Fløjte er et NodeJS-baseret fejlfindingsværktøj på tværs af platforme til at fange og manipulere HTTP-, HTTPS-, WebSocket- og TCP-trafik.

Først skal du installere NodeJS og derefter Whistle ved hjælp af npm.

npm install -g whistle

Du kan altid udvide funktionerne med pluginnet, hvis standardfunktionerne ikke passer til dine krav.

mitmproxy

mitmproxy er en populær open source HTTPS-proxy blandt sikkerhedsforskere. Brug det som en CLI, web eller Python API.

Webgrænsefladen giver dig udseendet og følelsen af ​​Chrome-udviklerværktøjer. Det understøtter også HTTP/2.

Fuldmægtig

I lighed med den ovennævnte Paw, Fuldmægtig er en førsteklasses native macOS webfejlfinding proxy-applikation.

Det fungerer som en man-in-the-midt for webtrafik og tilbyder mange funktioner, herunder følgende.

  • SSL proxy
  • Gentag anmodninger
  • Protobuf
  • Genskriv scripting
  • Lokalt og fjerntliggende kort
  • Indholdsfiltrering
  • Syntaksfremhævning

Proxyman UI er meget menneskevenlig.

HTTP Toolkit

HTTP Toolkit er en open source HTTP-debugger. Det er en desktop-app tilgængelig til Windows, Mac og Linux.

I modsætning til andre HTTP-debuggere giver HTTP Toolkit automatisk målrettet aflytning for specifikke klienter, inklusive HTTPS-opsætning, i stedet for at opsnappe alt fra hele din computer, og undgår således at fange irrelevant trafik eller forstyrre andre applikationer.

Med et enkelt klik kan du opsnappe browservinduer (inklusive Chrome, Firefox og mere), backend-/scriptsprog som Node.js, Python og PHP, alle kommandolinjeværktøjer, Electron-apps eller Android-enheder og -emulatorer (inklusive system- niveau HTTPS aflytning).

HTTP Toolkit understøtter standard HTTP-debugger-funktioner, herunder brudpunkter og omskrivning af HTTP(S)-trafik, filtrering og søgning af indsamlet trafik og fremhævning og autoformatering for mange populære anmodnings- og svartekstformater. Kernefunktioner til at opsnappe, inspicere og omskrive HTTP(S) er alle tilgængelige gratis, mens nogle avancerede premium-funktioner som import/eksport og automatiserede mock-regler kræver en betalt konto.

Konklusion

Ovenstående HTTP-klienter og webfejlretningsproxy kan hjælpe dig på mange måder. De fleste af dem er gratis eller tilbyder en prøveperiode, så prøv nogle af dem for at se, hvad der virker for dig.

God fejlfinding!