- cURL / curl
- Açık kaynaklı komut satırı aracı ve libcurl kütüphanesi, komut satırında URL üzerinden HTTP/HTTPS/FTP gibi protokol istekleri göndermek için kullanılır, geliştiricilerin API hata ayıklaması için en yaygın kullanılan araçtır.
- HTTP metodu
- HTTP istek eylemi, yaygın olanlar GET (okuma), POST (oluşturma), PUT (tüm güncelleme), PATCH (kısmi güncelleme), DELETE (silme), HEAD (başlık alma), OPTIONS (sunucu yeteneklerini sorgulama).
- İstek başlığı (Header)
- HTTP isteğindeki meta veri anahtar-değer çiftleri, Content-Type, Authorization, User-Agent, Cookie, Accept vb., curl'de -H/--header ile belirtilir.
- İstek gövdesi (Body)
- HTTP isteğinin veri bölümü, POST/PUT/PATCH için yaygındır, curl'de -d/--data/--data-binary/-F ile belirtilir, yaygın biçimler JSON, form-urlencoded, multipart/form-data.
- Content-Type
- İstek/yanıt başlığı, body'nin medya türünü belirtir. application/json JSON'u, application/x-www-form-urlencoded URL kodlu formu, multipart/form-data dosya yükleme formunu belirtir.
- Basic auth
- HTTP temel kimlik doğrulaması, Authorization: Basic base64(user:pass) başlığı aracılığıyla kullanıcı adı parola iletir, curl'de -u user:pass ile belirtilir.
- Bearer Token
- Belirteç tabanlı kimlik doğrulama yöntemi, Authorization: Bearer <token> başlığı aracılığıyla iletilir, JWT/OAuth2'de yaygın olarak kullanılır.
- User-Agent
- İstemci türünü (tarayıcı/tarayıcı bot/betik) belirten istek başlığı, curl varsayılan olarak "curl/sürüm" gönderir, birçok web sitesi tarayıcı olmayan UA'ları engeller, yaygın olarak -A ile belirtilir.
- Cookie
- Sunucunun Set-Cookie aracılığıyla gönderdiği, tarayıcının sonraki isteklerde Cookie başlığı aracılığıyla geri gönderdiği anahtar-değer çiftleri, oturum sürdürme için kullanılır. curl -b Cookie gönderir, -c Cookie'yi kaydeder.
- Referer
- Mevcut isteğin kaynak sayfa URL'sini belirten istek başlığı, bazı hotlink koruması/CSRF doğrulaması kontrol eder. curl -e ile ayarlanır.
- Yönlendirme (3xx)
- Sunucu 301/302/303/307/308 durum kodu döndürdüğünde tarayıcıya yeni URL'ye atlamasını söyler. curl varsayılan olarak takip etmez, -L/--location ile takip eder.
- --compressed
- curl seçeneği, otomatik olarak Accept-Encoding: deflate, gzip başlığı ekler ve yanıtı otomatik olarak sıkıştırmasını açar. Ayarlanmazsa yanıt sıkıştırılmış bozuk veriler olabilir.
- -k/--insecure
- curl seçeneği, HTTPS sertifika doğrulamasını atlar, yalnızca kendinden imzalı sertifika test ortamları için kullanılır, üretim ortamında kullanılması yasaktır.
- fetch API
- Tarayıcının yerel JavaScript HTTP istek API'si, Promise döndürür, modern tarayıcılar tarafından desteklenir.
- Axios
- Promise tabanlı popüler HTTP istemci kütüphanesi, tarayıcı ve Node.js için ortaktır, otomatik JSON serileştirme, kesiciler, zaman aşımı iptali.
- OkHttp
- Square tarafından üretilen Java/Android HTTP istemci kütüphanesi, yüksek performans, HTTP/2 desteği, bağlantı havuzu, şeffaf GZIP.
- HttpClient (.NET)
- C#/.NET için önerilen HTTP istemci, System.Net.Http ad alanı, .NET Core/.NET 5+ standart API.
- Invoke-RestMethod
- PowerShell 3.0+ yerleşik HTTP istek cmdlet'i, JSON/XML yanıtını otomatik olarak PowerShell nesnesi olarak ayrıştırır.