Ինչպես օգտագործել CURL- ը API հարցումներ ուղարկելու համար

Այս հոդվածում մենք կքննարկենք, թե ինչպես օգտագործել curl համագործակցել ՀԱՆԳՍՏՅԱՆ API- ների հետ: curl հրամանի տող է, որը կարող է օգտագործվել հարցումներ ուղարկելու համար API:

API հարցումները բաղկացած են չորս տարբեր մասերից.

  • Վերջնակետ: Սա այն URL- ն է, որին մենք հարցումներ ենք ուղարկում:
  • HTTP մեթոդը: Այն գործողությունը, որը մենք ուզում ենք կատարել: Ամենատարածված մեթոդներն են GET POST PUT DELETE եւ PATCH
  • Վերնագրերը Վերնագրերը, որոնք մենք ուզում ենք ուղարկել մեր խնդրանքի հետ միասին, օրինակ. թույլտվության վերնագիր:
  • Մարմինը. Տվյալները, որոնք մենք ուզում ենք ուղարկել api- ին:


գանգրացնել շարահյուսությունը

| _ | _ -Ի համար շարահյուսությունը հրամանն է.


curl

Ընտրանքները, որոնք մենք լուսաբանելու ենք այս հաղորդագրության մեջ, հետևյալն են.

  • curl [options] [URL...] կամ -X - Օգտագործվող HTTP մեթոդ
  • --request կամ -i - Ներառեք պատասխանների վերնագրերը
  • --include կամ -d - Տվյալները, որոնք պետք է ուղարկվեն API
  • --data կամ -H - Ուղարկվող ցանկացած լրացուցիչ վերնագիր


HTTP GET

Օգտագործվում է GET մեթոդը առնել ռեսուրս սերվերից: --header -Ում GET մեթոդը լռելյայն մեթոդ է, ուստի հարկ չկա նշել այն:


Օրինակ:

curl

GET հարցումների պարամետրերով

Կարող ենք նաև հարցման պարամետրեր ուղարկել | curl https://jsonplaceholder.typicode.com/posts - ի հետ միասին GET հարցում:

Օրինակ:

curl

HTTP POST

Օգտագործված է POST մեթոդը ստեղծել ռեսուրս սերվերում:


Ուղարկել curl https://jsonplaceholder.typicode.com/posts?userId=5 POST հարցում մենք օգտագործում ենք տարբերակը curl.

Փոստի ձևի տվյալներ

Օրինակ:

-X POST

Լռելյայն, curl -X POST -d 'userId=5&title=Post Title&body=Post content.' https://jsonplaceholder.typicode.com/posts օգտագործում է curl քանի որ Content-Type: application/x-www-form-urlencoded վերնագիր, ուստի մեզ հարկավոր չէ նշել այն ձևի տվյալներ ուղարկելիս:

POST JSON

JSON փակցնել ըստ Content-Type մենք պետք է նշենք curl ինչպես Content-Type.


Օրինակ:

application/json

HTTP PUT- ը

PUT մեթոդը օգտագործվում է թարմացում կամ փոխարինել ռեսուրս սերվերում: Այն փոխարինում է նշված ռեսուրսի բոլոր տվյալները մատակարարված հարցման տվյալների հետ:

Նշում:PUT հարցման համար մենք պետք է բոլոր տվյալները տրամադրենք հարցման մարմնում:

Ուղարկել curl -X POST -H 'Content-Type: application/json'
-d '{'userId': 5, 'title': 'Post Title', 'body': 'Post content.'}'
https://jsonplaceholder.typicode.com/posts
ԴԻՐԵԼ հայցը մենք օգտագործում ենք curl տարբերակը:

Օրինակ:


-X PUT

Վերը նշված PUT հարցումը կփոխարինի մեր նախկինում ստեղծված գրառումը «Նոր հաղորդագրության վերնագիր» -ով և «Նոր հաղորդագրության մարմին» -ով:



HTTP PATCH

Պատրաստելու համար օգտագործվում է PATCH մեթոդը մասնակի թարմացումներ սերվերի ռեսուրսին:

Նշում:PATCH հարցման համար հարկավոր չէ տրամադրել բոլոր տվյալները: Մենք ուղարկում ենք միայն այն տվյալները, որոնք ցանկանում ենք թարմացնել:

Ուղարկել 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
PATCH հարցում մենք օգտագործում ենք curl տարբերակը:

Օրինակ:


-X PATCH

Ուշադրություն դարձրեք, թե ինչպես ենք մենք մարմնին ուղարկում միայն «Թարմացված հաղորդագրության պարունակությամբ», քանի որ մասնակի թարմացում ենք կատարում:



HTTP LEնջել

DELETE մեթոդը օգտագործվում է սերվերից նշված ռեսուրսը հեռացնելու համար:

Ուղարկել curl -X PATCH -H 'Content-Type: application/json'
-d '{'userId': 5, 'body': 'Updated post content.'}'
https://jsonplaceholder.typicode.com/posts/5
DEնջել հայցը մենք օգտագործում ենք տարբերակը curl.

-X DELETEՆշում:DEնջել մեթոդը չունի մարմին:

Նույնականացում

Երբեմն API- ի վերջնակետը սահմանափակ մուտք ունի և կծառայի միայն վավերացված և լիազորված օգտվողներին: Այս հարցումների համար մենք պետք է տրամադրենք մուտքի նշան հարցման վերնագրում:

Ուղարկել curl -X DELETE https://jsonplaceholder.typicode.com/posts/5 վերնագիր, մենք օգտագործում ենք ՝ curl տարբերակ:

Հետևյալ հարցումը ուղարկում է POST հարցում `վերնագրի վրա կրողի նշանով.

-H

Եզրակացություն

Այս հաղորդագրության մեջ մենք իմացանք, թե ինչպես ուղարկել HTTP հարցումները (GET, POST, PUT, PATCH և DELETE) API- ին ՝ օգտագործելով curl հրամաններ: