HTTP koduyla çalışırken curl komut satırı aracı mükemmel bir yardımcıdır. İstekleri test edin, veri biçimlerini keşfedin ve daha fazlasını yapın!

Köprü Metni Aktarım Protokolü (HTTP), sunucular ve istemciler arasında veri aktarımına izin veren İnternet üzerinden iletişimin omurgasıdır. Ancak HTTP uç noktalarıyla etkileşim kurmak, özellikle yeni başlayanlar için zorlayıcı olabilir.

Neyse ki, bir komut satırı aracı olan curl, HTTP isteklerini göndermek ve almak için kolay ve verimli bir yol sağlar. Burada temel POST, GET, DELETE ve PUT HTTP isteklerini yapmak için curl'ü nasıl kullanacağınızı öğreneceksiniz.

curl yükleme

Varsayılan olarak curl, macOS, Linux ve Unix dahil olmak üzere başlıca işletim sistemlerinde kuruludur.

Aşağıdaki komutu çalıştırarak curl'ün kurulu olduğunu onaylayabilirsiniz:

kıvırmak

Yukarıdaki komut, terminalinizde "daha fazla bilgi için 'curl --help' veya 'curl --manual' deneyin" yazmalıdır.

İşletim sisteminizde curl kurulu değilse adresinden indirip kurabilirsiniz. curl indirme sayfası.

instagram viewer

HTTP GET İsteği Oluşturma

Bir HTTP GET isteği, veri istemek için bir yöntemdir. bir web sunucusu. Web sayfası, resim veya video gibi belirli bir kaynağı almak için bu istekleri kullanabilirsiniz.

curl ile aşağıdaki biçimde bir GET isteği yapabilirsiniz:

curl -X AL 

Yer değiştirmek getirmek istediğiniz kaynağın URL'si ile.

Örneğin:

curl -X AL https://example.com/todos/1

Yukarıdaki komutu çalıştırmak, URL'ye bir HTTP GET isteği yapar https://example.com/todos/1. bu -X AL seçeneği, HTTP yönteminin GET olduğunu belirtir. Komut çalıştığında curl, URL'de belirtilen sunucuya bir GET isteği gönderir ve sunucunun yanıtını bekler.

Sunucu ile yanıt verirse başarılı bir durum kodu, kıvırmak terminalde, bu durumda kimliği 1 olan bir yapılacak iş öğesiyle ilgili JSON verileri olacak olan yanıt gövdesini görüntüler.

Alternatif olarak, belirtmeden bir GET isteği yapabilirsiniz. -X flag, çünkü varsayılan olarak curl, bir istek yöntemi belirtmediğinizde bir GET isteği yapar. -X bayrak.

Örneğin:

kıvırmak https://example.com/todos/1

Yukarıdaki komutu çalıştırmak, " ile önceki komutla aynı yanıtı döndürür.-X AL” bayrak.

HTTP POST İsteği Oluşturma

HTTP POST isteği, verileri bir web sunucusuna kaydetme yöntemidir. URL'nin bir parçası olarak veri gönderen bir GET isteğinden farklı olarak, bir POST isteği, isteğin mesaj gövdesinde veri gönderir. Bu, hassas bilgilerin iletilmesi için POST isteklerini daha güvenli hale getirir.

curl ile aşağıdaki formatta bir POST isteği yapabilirsiniz:

curl -X POST -d 

Örneğin:

curl -X POST -d 'isim=jack' -d '[email protected]' \
 https://example.com/users

Yukarıdaki komut şu adrese bir POST isteği gönderir: https://example.com/users tarafından belirtilen verilerle -D yük olarak işaretleyin.

bu -D flag, gönderilecek verileri belirtir. Bu durumda, iki veri parametresi belirledi: ad=kriko ve [email protected].

kullandığınızda -D Bir komutta birden fazla işaretlemek için alanları & sembolünü kullanarak birleştirebilirsiniz.

Örneğin:

curl -d "isim=jack&[email protected]" https://example.com/api/users

Bir POST isteğinde göndermeye çalışabileceğiniz bazı verileri terminalinizde tek bir diziye sığdırmak zor olabilir. Bu gibi durumlarda curl kullanarak bir dosyadan veri okumak ve POST yapmak ideal olabilir.

POST isteğindeki bir dosyadan curl ile bir yük olarak veri göndermek için @ sonra hemen imzala -D bayrağı, ardından curl'un istekte göndermesini istediğiniz dosyanın dosya yolu.

Örneğin:

curl -X POST -d @users.txt https://example.com/api/users

İçerik Türünü Belirleme

Kullanmak -D flag, Content-Type başlığını otomatik olarak şu şekilde ayarlar: uygulama/x-www-form-urlencoded. Ancak, isteğiniz için uygun İçerik Türünü manuel olarak belirtebilirsiniz. -H veya --başlık bayrağı ve ardından istenen içerik türü.

Örneğin:

curl -H "İçerik Türü: uygulama/json" \
 -d '{"ad": "Jack", "email": "[email protected]"}' \
 https://example.com/api/users

Yukarıdaki komutta, -H flag, Content-Type başlığını şu şekilde belirtir: İçerik Türü: uygulama/json.

değiştirebilirsin uygulama/json istek gövdesinde gönderdiğiniz verilere uygun diğer geçerli MIME türü veya içerik türü ile. Örneğin, görüntü veya ses dosyası gibi İkili verileri yüklerken İçerik Türünü şu şekilde ayarlamanız gerekir: çok parçalı/form-veri.

Bu, uygun işleme için belirli içerik türleri gerektiren API'ler veya web hizmetleriyle etkileşim kurarken önemli olabilecek, gönderilen verilerin beklenen biçimini belirtmenize olanak tanır.

HTTP PUT İsteği Oluşturma

HTTP PUT isteği, bir web sunucusundaki mevcut bir kaynağı güncellemek veya kaynak yoksa bir tane oluşturmak için kullanılan bir yöntemdir. Bu yöntem, önemsiz olması anlamında POST yönteminden farklıdır. Bu, PUT yöntemini art arda bir veya birden çok kez çağırmanın sunucu üzerinde aynı etkiye sahip olduğu anlamına gelir.

curl ile aşağıdaki formatta bir PUT isteği yapabilirsiniz:

curl -X PUT -H "İçerik-Türü: uygulama/json" \
 -d '{"ad": "Jack Bauer", "e-posta": "[email protected]"}' \
 https://example.com/api/users/4

Yukarıdaki komut, yukarıdaki URL'de belirtilen web sunucusuna JSON formatında bir PUT isteği gönderir ve belirtilen kaynağı günceller. Belirtilen kaynak yoksa, kaynağı web sunucusunda oluşturur.

HTTP DELETE İsteği Yapma

HTTP DELETE isteği, belirli bir kaynağı bir web sunucusundan silmek için kullanılan bir yöntemdir. PUT isteklerine benzer şekilde, DELETE istekleri önemsizdir. Aynı DELETE isteğini aynı kaynağa birden çok kez göndermek, sunucuda aynı sonucu üretecektir.

Aşağıdaki komutu çalıştırarak curl ile DELETE isteği yapabilirsiniz:

curl -X SİL http://example.com/api/users/3

Yukarıdaki komut, yukarıdaki URL'de belirtilen web sunucusuna bir DELETE isteği gönderir ve belirtilen kaynağı siler.

Silme istekleri, belirtilen kaynağı sunucudan kalıcı olarak kaldırır. Bu nedenle, DELETE'i destekleyen bir web sunucusu genellikle bir biçim gerektirir. kimlik doğrulama veya yetkilendirme Bu isteği yapmadan önce.

Yetkilendirme başlığıyla bir DELETE isteğinin nasıl yapılacağı aşağıda açıklanmıştır:

curl -X DELETE -H "Yetkilendirme: Taşıyıcı my_access_token" \
 https://example.com/api/users/3

Yukarıdaki komut, istek başlığındaki kimlik doğrulama bilgilerini, Taşıyıcı kimlik doğrulama yöntemini kullanarak sağlar. -H bayrak. Yetkilendirme: Taşıyıcı my_access_token başlık değeridir. my_access_token gerçek erişim belirteci değeriniz için bir yer tutucudur.

HTTP İstekleri Yapabileceğiniz Diğer Yollar

Kıvrılmanın yanı sıra, isteğin içeriğine bağlı olarak HTTP istekleri yapmanın birden çok yolu vardır. En yaygın yöntemler, Chrome gibi bir web tarayıcısı, Postman gibi bir GUI aracı veya bir API istemcisi kullanmayı içerir.

Bu seçeneklerin her biri avantajları ve ödünleşimleri ile birlikte gelir. Sonuç olarak, bir araç seçiminiz, görevinizin gereksinimlerine bağlı olacaktır.