- cURL / curl
- Otwarte narzędzie wiersza poleceń i biblioteka libcurl do wysyłania zapytań HTTP/HTTPS/FTP i innych przez URL z wiersza poleceń, najpopularniejsze narzędzie programisty do debugowania API.
- Metoda HTTP
- Akcja zapytania HTTP, popularne: GET (odczyt), POST (tworzenie), PUT (pełna aktualizacja), PATCH (częściowa aktualizacja), DELETE (usuwanie), HEAD (pobieranie nagłówków), OPTIONS (zapytywanie możliwości serwera).
- Nagłówek zapytania (Header)
- Pary klucz-wartość metadanych w zapytaniu HTTP, takie jak Content-Type, Authorization, User-Agent, Cookie, Accept itp., określane w curl przez -H/--header.
- Treść zapytania (Body)
- Część danych zapytania HTTP, często używana w POST/PUT/PATCH, określana w curl przez -d/--data/--data-binary/-F, popularne formaty: JSON, form-urlencoded, multipart/form-data.
- Content-Type
- Nagłówek zapytania/odpowiedzi, określający typ mediów treści. application/json oznacza JSON, application/x-www-form-urlencoded oznacza formularz kodowany URL, multipart/form-data oznacza formularz do wysyłania plików.
- Basic Auth
- Podstawowa autoryzacja HTTP, przekazuje nazwę użytkownika i hasło przez nagłówek Authorization: Basic base64(user:pass), w curl określana przez -u user:pass.
- Bearer Token
- Autoryzacja oparta na tokenie, przekazywana przez nagłówek Authorization: Bearer <token>, często używana w JWT/OAuth2.
- User-Agent
- Nagłówek zapytania, identyfikujący typ klienta (przeglądarka/bot/skrypt), curl domyślnie wysyła «curl/wersja», wiele stron blokuje nieprzeglądarkowe UA, często określany przez -A.
- Cookie
- Pary klucz-wartość wysyłane przez serwer przez Set-Cookie i zwracane przez przeglądarkę w kolejnych zapytaniach przez nagłówek Cookie, używane do utrzymywania sesji. curl -b wysyła Cookie, -c zapisuje Cookie.
- Referer
- Nagłówek zapytania, określający URL strony źródłowej bieżącego zapytania, niektóre kontrole hotlinkingu/CSRF go sprawdzają. curl -e ustawia.
- Przekierowanie (3xx)
- Gdy serwer zwraca kody statusu 301/302/303/307/308, nakazując przeglądarce przejście na nowy URL. curl domyślnie nie śledzi, dodaj -L/--location, aby śledzić.
- --compressed
- Opcja curl, automatycznie dodaje nagłówek Accept-Encoding: deflate, gzip i automatycznie dekompresuje odpowiedź. Bez niej odpowiedź może być skompresowanymi danymi jako nieczytelne znaki.
- -k/--insecure
- Opcja curl, pomija weryfikację certyfikatu HTTPS, używana tylko w środowiskach testowych z certyfikatami samopodpisanymi, zabroniona w produkcji.
- fetch API
- Natywne przeglądarkowe JavaScript API do zapytań HTTP, zwraca Promise, obsługiwane przez wszystkie nowoczesne przeglądarki.
- Axios
- Popularna biblioteka klienta HTTP oparta na Promise, uniwersalna dla przeglądarki i Node.js, automatyczna serializacja JSON, interceptory, timeout i anulowanie.
- OkHttp
- Biblioteka klienta HTTP Java/Android od firmy Square, wysokowydajna, z obsługą HTTP/2, pulą połączeń, przezroczystym GZIP.
- HttpClient (.NET)
- Zalecany klient HTTP dla C#/.NET, przestrzeń nazw System.Net.Http, standardowe API w .NET Core/.NET 5+.
- Invoke-RestMethod
- Wbudowany w PowerShell 3.0+ cmdlet do zapytań HTTP, automatycznie parsuje odpowiedzi JSON/XML na obiekty PowerShell.