tldr/pages.nl/common/http.md

37 lines
1.7 KiB
Markdown
Raw Normal View History

2024-08-22 12:59:48 +01:00
# http
> HTTPie: een HTTP-client ontworpen voor het testen, debuggen en in het algemeen interactie met API's en HTTP-servers.
> Meer informatie: <https://httpie.io/docs/cli/usage>.
2024-08-22 12:59:48 +01:00
- Maak een eenvoudige GET-aanvraag (toont response header en inhoud):
2024-08-22 12:59:48 +01:00
`http {{https://example.org}}`
2024-08-22 12:59:48 +01:00
- Print specifieke uitvoerinhoud (`H`: request headers, `B`: request body, `h`: response headers, `b`: response body, `m`: response metadata):
2024-08-22 12:59:48 +01:00
`http --print {{H|B|h|b|m|Hh|Hhb|...}} {{https://example.com}}`
2024-08-22 12:59:48 +01:00
- Specificeer de HTTP-methode bij het verzenden van een aanvraag en gebruik een proxy om de aanvraag te onderscheppen:
2024-08-22 12:59:48 +01:00
`http {{GET|POST|HEAD|PUT|PATCH|DELETE|...}} --proxy {{http|https}}:{{http://localhost:8080|socks5://localhost:9050|...}} {{https://example.com}}`
2024-08-22 12:59:48 +01:00
- Volg eventuele `3xx` redirects en specificeer extra headers in een verzoek:
2024-08-22 12:59:48 +01:00
`http {{-F|--follow}} {{https://example.com}} {{'User-Agent: Mozilla/5.0' 'Accept-Encoding: gzip'}}`
2024-08-22 12:59:48 +01:00
- Authenticeer bij een server met verschillende authenticatiemethoden:
2024-08-22 12:59:48 +01:00
`http --auth {{gebruikersnaam:wachtwoord|token}} --auth-type {{basic|digest|bearer}} {{GET|POST|...}} {{https://example.com/auth}}`
2024-08-22 12:59:48 +01:00
- Maak een verzoek maar verzend het niet (vergelijkbaar met een dry-run):
2024-08-22 12:59:48 +01:00
`http --offline {{GET|DELETE|...}} {{https://example.com}}`
2024-08-22 12:59:48 +01:00
- Gebruik benoemde sessies voor aanhoudende aangepaste headers, auth-referenties en cookies:
2024-08-22 12:59:48 +01:00
`http --session {{session_naam|pad/naar/session.json}} {{--auth gebruikersnaam:wachtwoord https://example.com/auth API-KEY:xxx}}`
- Upload een bestand naar een formulier (het onderstaande voorbeeld gaat ervan uit dat het formulier `<input type="file" name="cv" />` is):
`http --form {{POST}} {{https://example.com/upload}} {{cv@pad/naar/bestand}}`