cURL ile HTTP Üstbilgileri Nasıl Gönderilir? Örneklerle Kapsamlı Bir Kılavuz
Bu kapsamlı kılavuzla cURL kullanarak HTTP başlıklarını gönderme ve alma konusunda uzmanlaşın. Örnekleri, özel başlıkları ve sorun giderme ipuçlarını keşfedin.
Bu yazıda 11 bölüm
- Önkoşullar
- Temel cURL Söz Dizimi
- Örnek 1: Özel Başlıklarla GET İsteği Gönderme
- Örnek 2: JSON Verisiyle POST İsteği Gönderme
- Örnek 3: Birden Fazla Başlık Ayarlama
- Örnek 4: Çerezleri Gönderme
- Örnek 5: Yönlendirmeleri İzleme
- Örnek 6: Özel User-Agent Gönderme
- Örnek 7: Veri Olmadan İstek Başlıklarını Gönderme
- Örnek 8: HTTP Temel Kimlik Doğrulaması Gönderme
- Örnek 9: Hata Ayıklama ve Ayrıntılı Mod
cURL ile HTTP başlıkları göndermek, API’ler veya web hizmetleriyle çalışan herkes için temel bir beceridir. HTTP başlıkları, içerik türü, yetkilendirme ve daha fazlası gibi isteğiniz hakkında önemli bilgileri iletir. HTTP istekleri yapmak için güçlü bir komut satırı aracı olan cURL, bu başlıkları zahmetsizce özelleştirmenize ve göndermenize olanak tanır. Bu kılavuzda, cURL kullanarak HTTP başlıkları gönderme sürecinde size rehberlik edeceğiz; çeşitli pratik örneklerle birlikte.

Önkoşullar#
Örneklere dalmadan önce sisteminizde cURL’nin kurulu olduğundan emin olun. Aşağıdakileri çalıştırarak kurulu olup olmadığını kontrol edebilirsiniz:
curl --version
Yüklü değilse, resmi cURL web sitesinden indirebilirsiniz.
Temel cURL Söz Dizimi#
cURL ile bir HTTP isteği göndermenin temel sözdizimi şöyledir:
curl [options] [URL]
HTTP başlıklarını isteğinize dahil etmek için, -H veya –header seçeneğini kullanabilir ve ardından başlık bilgisini yazabilirsiniz.
Örnek 1: Özel Başlıklarla GET İsteği Gönderme#
Özel bir başlık da dahil olmak üzere varsayımsal bir API’ye basit bir GET isteğiyle başlayalım. API anahtarınıza bir “Yetkilendirme” başlığı eklemek istediğinizi varsayalım.
curl -H "Authorization: Bearer YOUR_API_KEY" https://api.example.com/resource
YOUR_API_KEY yerine gerçek API anahtarınızı yazın.
Örnek 2: JSON Verisiyle POST İsteği Gönderme#
Bu örnekte, JSON yükü ve özel bir içerik türü başlığı ile bir POST isteği göndereceğiz.
curl -X POST -H "Content-Type: application/json" -d '{"name": "John", "email": "[email protected]"}' https://api.example.com/users
Bu komut, istek yöntemini POST olarak belirtir (-X POST), içerik türünü JSON olarak ayarlar (-H
Örnek 3: Birden Fazla Başlık Ayarlama#
Tek bir cURL isteğine birden fazla başlık ekleyebilirsiniz. Burada, hem „Authorization
curl -H "Authorization: Bearer YOUR_API_KEY" -H "User-Agent: MyClient/1.0" https://api.example.com/resource
Örnek 4: Çerezleri Gönderme#
İsteğiniz ile çerezleri göndermek için -b veya –cookie seçeneğini çerez verileriyle beraber kullanın.
curl -b "session=12345; preferences=darkmode" https://api.example.com/dashboard
Bu örnek iki çerez göndermektedir: “oturum” ve “tercihler”.
Örnek 5: Yönlendirmeleri İzleme#
Varsayılan olarak cURL, HTTP yönlendirmelerini izlemez. Yönlendirme izlemesini etkinleştirmek için -L veya –location seçeneğini kullanın.
curl -L https://example.com
Bu komut, tüm yönlendirmeleri izleyecek ve son sayfa içeriğini gösterecektir.
Örnek 6: Özel User-Agent Gönderme#
İsteğinizi tanımlamak için özel bir User-Agent başlığı ayarlayabilirsiniz.
curl -H "User-Agent: MyCustomApp/1.0" https://api.example.com/resource
Özel User-Agent başlıkları, belirli kullanıcı ajanları gerektiren API’lerle etkileşim kurarken yararlıdır.
Örnek 7: Veri Olmadan İstek Başlıklarını Gönderme#
İstek gövdesi olmayan bir başlık göndermeniz gerekiyorsa -I veya –head seçeneğini kullanabilirsiniz.
curl -I https://api.example.com/resource
Bu komut, gerçek içeriği değil yalnızca başlıkları getiren bir HEAD isteği gönderir.
Örnek 8: HTTP Temel Kimlik Doğrulaması Gönderme#
HTTP Temel Kimlik Doğrulaması kimlik bilgilerini göndermek için, kullanıcı adınız ve şifrenizi Base64 ile kodlanmış şekilde içeren bir „Authorization
curl -H "Authorization: Basic BASE64_ENCODED_CREDENTIALS" https://api.example.com/resource
BASE64_ENCODED_CREDENTIALS’ı Base64 kodlu kullanıcı adınız ve şifrenizle değiştirin (örn. kullanıcı adı:şifre).
Örnek 9: Hata Ayıklama ve Ayrıntılı Mod#
Sorunları giderirken veya HTTP isteğini ve yanıtını incelerken cURL’nin ayrıntılı modunu -v veya –verbose seçeneğiyle kullanabilirsiniz.
curl -v https://api.example.com/resource
Bu, istek ve yanıtla ilgili başlıklar dahil olmak üzere ayrıntılı bilgileri gösterecektir.
cURL ile HTTP başlıkları göndermek, web hizmetleri ve API’lerle çalışmak için önemli bir beceridir. Bu kılavuzda sağlanan örneklerle, isteklerinizi özelleştirebilir, kimlik doğrulamasını yönetebilir, çerezleri gönderebilir ve daha fazlasını yapabilirsiniz. cURL’ün yetenekleriyle tanıştıkça, çeşitli web hizmetleriyle etkili bir şekilde etkileşim kurmak için iyi bir konuma geleceksiniz.
