12 HTTP-klient och proxyverktyg för webbfelsökning

En av de väsentliga färdigheterna för en utvecklare och systemadministratör är att felsöka applikationen, API:et eller tjänsterna, och att känna till rätt verktyg är en livräddare.

Vad är felsökning?

Om du tittar på kriminaldramer kommer idén bakom felsökning inte att vara främmande för dig. Felsökning är en process, och det involverar mycket taktik. Det är att systematiskt hitta och lösa problem och fel inom ett program.

Dessutom löser felsökning alla problem som kan förhindra korrekt drift av programvaran eller, i det här fallet, webbapplikationen. Processen att felsöka ditt API eller webbapplikation innebär i första hand ett försök att reproducera problemet.

Följaktligen uppstår behovet av att skicka ut en API-förfrågan. Nu är det här problemet ligger. De flesta webbläsare kommer att hindra dig från att ändra ursprungshuvudet, och även gränserna för URL-storlek.

Med andra ord, för att reproducera problemet kan du behöva utföra vissa HTTP-manipulationer. Och detta kommer att kräva några kraftfulla felsökningsverktyg.

Alla komponenter eller taktik i felsökningsprocessen inkluderar;

  • Interaktiv felsökning
  • Kontrollflödesanalys
  • Enhetstestning
  • Integrationstestning
  • Loggfil analys
  • Övervakning
  • Minnesdumpar
  • Profilering

Det är intressant att veta att vissa HTTP-klienter, dvs webbläsare, har inbyggda webbutvecklarverktyg. Dessa verktyg kan användas för att felsöka API:er. Med detta i åtanke är det inte nödvändigt att skriva ditt felsökningsverktyg.

Vad är HTTP-klient?

Anta att du tänker bygga ett system som utnyttjar HTTP-protokollet för distribuerad kommunikation eller HTTP-medveten, till exempel en webbapplikation. Sedan kanske du vill titta på HTTP-klientkomponenten.

HTTP, eller HyperText Transfer Protocol, är anledningen till att du kan kommunicera eller överföra data på webben, varje gång du skriver in en URL. Det är ett applikationsprotokoll som gör det möjligt att surfa på internet.

Nu är HTTP-klienten ett system som skickar förfrågningar till en server i HTTP-textformat och i sin tur får ett svar från samma server.

Det är viktigt att känna till skillnaderna mellan en HTTP-klient och HTTP-servern.

Skillnader mellan HTTP-klient och server

Medan HTTP-klienten ofta är webbläsare eller verktyg, fungerar HTTP-servrar som proxyservrar till applikationsservrar.

Med enklare ord, dina smartphones, TV-apparater, PlayStation, egentligen vilken enhet som helst som kan ansluta till internet, använder förmodligen en HTTP-klient.

På liknande sätt är HTTP-servern nätverksdatorn som HTTP-klienten ansluter till. Relationen de delar är mer av en konversation. Där HTTP-klienten skickar en begäran och HTTP-servern svarar.

Exempel på HTTP-förfrågningar

Förfrågningar
Resultat
SKAFFA SIG
Begär hela resursen
HUVUD
Begär resurs utan kroppen
POSTA
Lägger till innehåll till en befintlig webbresurs
SÄTTA
Modifierar en befintlig webbresurs
RADERA
Tar bort en angiven resurs
SPÅR
Visar ändringarna av en webbresurs
ALTERNATIV
Visar tillgängliga HTTP-metoder för URL:en
ANSLUTA
Konverterar begäran om anslutning till en transparent TCP/IP-tunnel
LAPPA
Modifierar delvis en webbresurs

Att felsöka webben har aldrig varit enklare. Med dessa verktyg kan du äntligen koppla av medan du gör det du tycker om.

HTTPie

Det yttersta målet för HTTPie är att göra CLI-interaktion med webbtjänster användarvänligt. Detta verktyg tillhandahåller ett HTTP-kommando för att skicka förfrågningar, allt med användning av en naturlig syntax.

HTTPie kan användas för att felsöka, testa och ansluta till HTTP-servrar. Den stöder HTTP, HTTPS och proxyservrar.

Höjdpunkter

  • Inbyggt JSON-stödsystem
  • Kan installeras på Windows, macOS och Linux
  • Anpassade HTTP-rubriker och metod
  • Skicka in formulär
  • Offlineläge
  • Grundläggande autentisering och sammanfattning
  • Intuitiv syntax

Vill du inte installera HTTPie lokalt?

Inga bekymmer, nu kan du köra det uppkopplad.

Fifflare

Fifflare är en plattformsoberoende proxy för webbsökning. Det kan hjälpa till att manipulera webbsessioner, inspektera HTTPS-trafik och övervaka trafik mellan din dator och Internet.

Du kan installera Fiddler på Windows, macOS och Linux. Det är förmodligen det mest populära verktyget för att felsöka trafik.

RESTER

RESTER finns som tillägg för Google Chrome och Firefox.

Höjdpunkter

  • Auktoriseringsrubriker med Basic- eller Auth2-autentisering
  • Visa förfrågningshistorik
  • Utför förfrågningar med valfri metod, URL, brödtext och anpassade rubriker
  • Testa och felsöka API:er

Tass

Tass är en fullfjädrad HTTP-klient, som låter dig skicka alla typer av HTTP-förfrågningar. Med Paw kan du testa dina API:er och även utforska nya.

Paw är exklusivt byggd för macOS, och den har funktioner som är enkla att använda. Du kan importera och generera swagger, RAML, etc. och det stöder JSON-schema.

Höjdpunkter

  • Stöder flera autentiseringar som basic, OAuth, hawk, digest
  • Dynamiska värden
  • Miljöer
  • Utöka genom java-script-baserade tillägg
  • Cookies och sessionsmanipulation

Förfrågare

Förfrågare är en robust klient som kombinerar funktionerna i HTTPie, Postman och Paw. Det fungerar bara med Sublime Text editor.

Höjdpunkter

  • Stöder JSON Schemer
  • Begär samlingar och historik
  • Färgad utdata med syntaxmarkering
  • Modern UX
  • Cookies, anpassade rubriker, förfrågningstext och frågeparametrar är lätta att ställa in.
  • GraphQL-stöd

Brevbärare

Arbetar du alltid med API:er?

Du kommer att bli kär i Postman.

Brevbärare är utan tvekan en av de mer populära HTTP-klienter som används för att felsöka webbapplikationer. Det möjliggör snabbare och enklare API-utveckling.

Höjdpunkter

  • Packar ett kraftfullt GUI, med ett användarvänligt gränssnitt
  • Historik över förfrågningar
  • Automatiserad testning med samlingslöpare
  • Flexibel API-övervakning
  • Stöd REST, GraphQL, SOAP
  • Stöd för flera nyttolaster inklusive JSON och HTML

ringla

cURL är ett kommandoradsverktyg som används för att skicka data med URL-syntax.

Det som är bra, cURL är som standard installerat på de flesta UNIX-smaksatta operativsystem. Den stöder många protokoll, inklusive FTP, LDAP, POP3, SMTP, GOPHER, IMAP, HTTP, HTTPS och SCP.

Charles Proxy

Som namnet säger, Charles ombud är en HTTP och omvänd proxy. Det fungerar genom att dirigera lokal trafik genom den.

Du kan använda Charles för SSL-proxying, bandbreddsbegränsning, AJAX-felsökning, brytpunkter och mer.

Vissla

Vissla är ett NodeJS-baserat plattformsoberoende verktyg för att fånga och manipulera HTTP-, HTTPS-, WebSocket- och TCP-trafik.

Först måste du installera NodeJS och sedan Whistle med npm.

npm install -g whistle

Du kan alltid utöka funktionerna med plugin-programmet om standardfunktionerna inte passar dina krav.

mitmproxy

mitmproxy är en populär HTTPS-proxy med öppen källkod bland säkerhetsforskare. Använd det som ett CLI-, webb- eller Python-API.

Webbgränssnittet ger dig utseendet och känslan av Chromes utvecklarverktyg. Den stöder även HTTP/2.

Proxyman

I likhet med ovan nämnda Paw, Proxyman är en förstklassig inbyggd macOS-webbfelsökningsproxyapplikation.

Den fungerar som en man-i-mitten för webbtrafik och erbjuder många funktioner, inklusive följande.

  • SSL proxy
  • Upprepa förfrågningar
  • Protobuf
  • Skriv om skript
  • Lokal och avlägsen karta
  • Innehållsfiltrering
  • Syntaxmarkering

Proxyman UI är väldigt människovänligt.

HTTP Toolkit

HTTP Toolkit är en HTTP-debugger med öppen källkod. Det är en stationär app tillgänglig för Windows, Mac och Linux.

Till skillnad från andra HTTP-debuggers tillhandahåller HTTP Toolkit automatiskt riktad avlyssning för specifika klienter, inklusive HTTPS-inställningar, snarare än att fånga upp allt från hela din dator, och på så sätt undviker man att fånga irrelevant trafik eller störa andra applikationer.

Med ett klick kan du fånga webbläsarfönster (inklusive Chrome, Firefox och mer), backend-/skriptspråk som Node.js, Python och PHP, alla kommandoradsverktyg, Electron-appar eller Android-enheter och emulatorer (inklusive system- nivå HTTPS-avlyssning).

HTTP Toolkit stöder vanliga HTTP-felsökningsfunktioner, inklusive brytpunkter och omskrivning av HTTP(S)-trafik, filtrering och sökning av insamlad trafik, samt markering och autoformatering för många populära förfrågnings- och svarskroppsformat. Kärnfunktioner för att avlyssna, inspektera och skriva om HTTP(S) är alla tillgängliga gratis, medan vissa avancerade premiumfunktioner som import/export och automatiserade mock-regler kräver ett betalkonto.

Slutsats

Ovanstående HTTP-klienter och webbfelsökningsproxy kan hjälpa dig på många sätt. De flesta av dem är gratis eller erbjuder en provperiod så prova några av dem för att se vad som fungerar för dig.

Lycka till med felsökningen!