API İstəkləri Göndərmək üçün CURL-dan necə istifadə olunur

Bu yazıda curl istifadə qaydalarını müzakirə edəcəyik RESTful API ilə qarşılıqlı əlaqə qurmaq. curl bir API-yə sorğu göndərmək üçün istifadə edilə bilən bir əmr satırı yardım proqramıdır.

API istəkləri dörd fərqli hissədən ibarətdir:

  • Son nöqtə. Bu, sorğu göndərdiyimiz URL.
  • HTTP metodu. Görmək istədiyimiz hərəkət. Ən geniş yayılmış metodlar GET POST PUT DELETEPATCH
  • Başlıqlar. İstəyimizlə birlikdə göndərmək istədiyimiz başlıqlar, məs. icazə başlığı.
  • Bədən. Api-yə göndərmək istədiyimiz məlumatlar.


qıvrım Sintaksis

curl Üçün sintaksis əmr:


curl [options] [URL...]

Bu yazıda nəzərdən keçirəcəyimiz seçimlər bunlardır:

  • -X və ya --request - istifadə ediləcək HTTP metodu
  • -i və ya --include - Cavab başlıqlarını daxil edin
  • -d və ya --data - API-yə göndəriləcək məlumatlar
  • -H və ya --header - Göndəriləcək əlavə başlıqlar


HTTP GET

GET metodu istifadə olunur gətir bir serverdən bir qaynaq. curl İçində GET metodu standart metoddur, buna görə onu göstərməyə ehtiyac yoxdur.


Misal:

curl https://jsonplaceholder.typicode.com/posts

Sorğu parametrləri ilə alın

Sorğu parametrlərini curl ilə birlikdə göndərə bilərik Xahişi alın.

Misal:

curl https://jsonplaceholder.typicode.com/posts?userId=5

HTTP POST

POST metodu istifadə olunur yaratmaq serverdəki bir qaynaq.


Bir curl göndərmək üçün POST istəyi -X POST seçimini istifadə edirik.

POST Form məlumatları

Misal:

curl -X POST -d 'userId=5&title=Post Title&body=Post content.' https://jsonplaceholder.typicode.com/posts

Varsayılan olaraq, curl istifadə edir Content-Type: application/x-www-form-urlencoded kimi Content-Type başlıq, buna görə forma məlumatlarını göndərərkən onu göstərməyə ehtiyac yoxdur.

JSON'U GÖNDƏR

Bir JSON göndərmək üçün curl Content-Type yazmalıyıq kimi application/json.


Misal:

curl -X POST -H 'Content-Type: application/json'
-d '{'userId': 5, 'title': 'Post Title', 'body': 'Post content.'}'
https://jsonplaceholder.typicode.com/posts


HTTP PUT

PUT metodu istifadə olunur yeniləmə və ya dəyişdirin serverdəki bir qaynaq. Göstərilən mənbənin bütün məlumatlarını təmin edilmiş tələb məlumatları ilə əvəz edir.

Qeyd:Bir PUT tələbi üçün, istək gövdəsindəki bütün məlumatları təqdim etməliyik.

Bir curl göndərmək üçün PUT istəyi -X PUT seçimini istifadə edirik.

Misal:


curl -X PUT -H 'Content-Type: application/json'
-d '{'userId': 5, 'title': 'New Post Title', 'body': 'New post content.'}'
https://jsonplaceholder.typicode.com/posts/5

Yuxarıdakı PUT tələbi əvvəllər yaratdığımız postu “Yeni yazı başlığı” və “Yeni yazı gövdəsi” ilə əvəz edəcəkdir.



HTTP PATCH

PATCH metodundan istifadə etmək üçün istifadə olunur qismən yeniləmələr serverdəki mənbəyə.

Qeyd:Yamaq istəyi üçün bütün məlumatları vermək məcburiyyətində deyilik. Yalnız yenilənməsini istədiyimiz məlumatları göndəririk.

Bir curl göndərmək üçün PATCH istəyi -X PATCH seçimini istifadə edirik.

Misal:


curl -X PATCH -H 'Content-Type: application/json'
-d '{'userId': 5, 'body': 'Updated post content.'}'
https://jsonplaceholder.typicode.com/posts/5

Bədəni yalnız 'Yenilənmiş yazı məzmunu' ilə necə göndərdiyimizə diqqət yetirin, çünki qismən bir yeniləmə edirik.



HTTP SİL

DELETE metodu göstərilən mənbəni serverdən çıxarmaq üçün istifadə olunur.

Bir curl göndərmək üçün Sil tələbi -X DELETE seçimini istifadə edirik.

curl -X DELETE https://jsonplaceholder.typicode.com/posts/5 Qeyd:DELETE metodunun gövdəsi yoxdur.

İdentifikasiyası

Bəzən bir API son nöqtəsi girişi məhdudlaşdırır və yalnız təsdiq edilmiş və səlahiyyətli istifadəçilərə sorğu verəcəkdir. Bu istəklər üçün sorğunun başlığında bir giriş işarəsi təqdim etməliyik.

Bir curl göndərmək üçün başlıq, istifadə edirik: -H seçim.

Aşağıdakı sorğu başlıqdakı daşıyıcı işarəsi ilə POST sorğusu göndərir:

curl -X POST https://some-web-url/api/v1/users -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'Authorization: Bearer {ACCESS_TOKEN}' -H 'cache-control: no-cache' -d '{ 'username' : 'myusername', 'email' : 'myusername@gmail.com', 'password' : 'Passw0rd123!' }'

Nəticə

Bu yazıda HTTP istəklərinin (GET, POST, PUT, PATCH və DELETE) curl əmrlərindən istifadə edərək bir API-yə necə göndəriləcəyini öyrəndik.