cURL Seçeneği | Tanım | Kullanım Örneği |
---|---|---|
-H , --header | Özel başlığı(başlıkları) sunucuya iletin | curl -H "Header: Value" http://example.com |
-A , --user-agent | Kullanıcı Aracısı dizesini ayarlayın | curl -A "MyAgent" http://example.com |
-e , --referer | Referer başlığını ayarlayın | curl -e "http://referrer.com" http://example.com |
-b , --cookie | Dizeden veya dosyadan çerez gönder | curl -b "name=value" http://example.com |
-d , --data | Verileri bir POST isteğinde gönder | curl -d "key=value" http://example.com |
cURL ile özel HTTP başlıkları göndermek, web uygulamalarını test etmek ve hata ayıklamak için önemlidir. Bu makalede, URL'lerle veri aktarımı için güçlü bir komut satırı aracı olan cURL kullanarak HTTP başlıklarının nasıl gönderileceğini inceleyeceğiz.
HTTP Başlıklarını Anlamak
HTTP başlıkları, istemciler ve sunucular arasındaki isteklerde ve yanıtlarda gönderilen anahtar-değer çiftleridir. İçerik türü, yetkilendirme kimlik bilgileri ve önbelleğe alma yönergeleri gibi istek veya yanıt hakkında meta bilgileri iletirler. Yaygın HTTP başlıkları şunları içerir:
Başlık Adı | Amaç |
---|---|
User-Agent | İstemci yazılımını tanımlar |
Accept | Kabul edilebilir içerik türlerini belirtir |
Authorization | Kimlik doğrulama için kimlik bilgilerini içerir |
Content-Type | Kaynağın medya türünü belirtir |
Referer | Önceki web sayfasının adresi |
Neden cURL ile Özel HTTP Başlıkları Göndermelisiniz?
Özel HTTP başlıkları şunları yapmanıza olanak tanır:
- Farklı tarayıcılardan veya cihazlardan gelen istekleri simüle edin.
- Belirli başlıklar gerektiren API'leri test edin.
- Başlıkları değiştirerek sorunları giderin.
- Önbelleğe almayı ve içerik pazarlığını kontrol edin.
- Korunan kaynaklara yapılan istekleri doğrulayın.
cURL ile HTTP Başlıklarını Gönderme
Kullanımı -H
veya --header
Seçenek
cURL ile özel bir HTTP başlığı göndermek için şunu kullanın: -H
veya --header
başlığı takip eden seçenek:
curl -H "Header-Name: Header-Value" http://example.com
Çoklu Başlıklar
Birden fazla başlık belirleyerek birden fazla başlık gönderebilirsiniz. -H
seçenekler:
curl -H "First-Header: Value1" -H "Second-Header: Value2" http://example.com
Varsayılan Başlıkları Değiştirme veya Değiştirme
cURL otomatik olarak belirli başlıkları gönderir Host
Ve User-Agent
. Varsayılan bir başlığı değiştirmek için, onu yeni bir değerle belirtin. Örneğin, User-Agent
:
curl -H "User-Agent: MyCustomAgent" http://example.com
Bir başlığı kaldırmak istiyorsanız, onu boş bir dizeye ayarlayın:
curl -H "Accept:" http://example.com
cURL ile HTTP Başlıklarının Gönderilmesine İlişkin Örnekler
Örnek: Kullanıcı Aracısını Ayarlama
The User-Agent
Başlık istemci yazılımını tanımlar. Ayarlamak için:
curl -H "User-Agent: Mozilla/5.0" http://example.com
Alternatif olarak, şunu kullanabilirsiniz: -A
seçenek:
curl -A "Mozilla/5.0" http://example.com
Örnek: Yetkilendirme Başlığı Ekleme
Kimlik doğrulaması gerektiren API'ler için bir e-posta göndermeniz gerekebilir. Authorization
Başlık:
curl -H "Authorization: Bearer your_token_here" http://api.example.com
Örnek: POST İstekleri için İçerik Türünü Ayarlama
Bir POST isteğinde veri gönderirken, şunu belirtmeniz gerekebilir: Content-Type
Başlık:
curl -d '{"key":"value"}' -H "Content-Type: application/json" http://example.com/api
Örnek: Proxy'lerle Özel Başlıkları Kullanma
İsteklerinizi göndermek için bir proxy kullanıyorsanız, proxy seçeneklerini özel başlıklarla birleştirebilirsiniz:
curl -x http://proxyelite.info:8080 -H "Custom-Header: Value" http://example.com
İpuçları ve En İyi Uygulamalar
- Başlıkları Tırnak İşaretleri İçine Alın: Kabuk yorumlamasını önlemek için, özellikle boşluklar veya özel karakterler içeriyorsa, başlık değerlerini her zaman tırnak işaretleri içine alın.
- Ayrıntılı Mod: Ayrıntılı modu kullan
-v
gönderilen ve alınan başlıkları görmek için. Bu hata ayıklama için yararlıdır:
curl -v -H "Header: Value" http://example.com
- Hassas veri: Özellikle komut örneklerini veya günlükleri paylaşırken, hassas verileri başlıklarda gönderirken dikkatli olun.
- Varsayılan Başlıklar: cURL'nin bazı varsayılan başlıkları gönderdiğini unutmayın. Bunların üzerine yazmak sunucunun nasıl yanıt vereceğini etkileyebilir.
Kaçınılması Gereken Yaygın Hatalar
- Eksik Alıntılar: Başlıkların etrafında tırnak işareti kullanmayı unutmak hatalara veya beklenmeyen davranışlara yol açabilir.
- Yanlış Başlık Sözdizimi: Başlıklar şu biçimde olmalıdır:
Header-Name: Value
. - Büyük/Küçük Harf Duyarlılığı: Başlık adları büyük/küçük harfe duyarlı olmasa da, standart büyük/küçük harf kullanımını kullanmak iyi bir uygulamadır.
Çözüm
cURL ile HTTP başlıkları göndermek basit ve güçlüdür. İster API'leri test ediyor olun ister farklı istemcileri simüle ediyor olun, cURL'nin başlık seçeneklerinde ustalaşmak web sunucularıyla etkili bir şekilde etkileşim kurma yeteneğinizi artırır.