Curl komandrindas rīks ir ideāls palīgs, strādājot ar HTTP kodu. Izmēģiniet pieprasījumus, izpētiet datu formātus un daudz ko citu!

Hiperteksta pārsūtīšanas protokols (HTTP) ir saziņas mugurkauls internetā, kas ļauj pārsūtīt datus starp serveriem un klientiem. Tomēr mijiedarbība ar HTTP galapunktiem var būt sarežģīta, īpaši iesācējiem.

Par laimi, curl, komandrindas rīks, nodrošina vienkāršu un efektīvu veidu, kā nosūtīt un saņemt HTTP pieprasījumus. Šeit jūs uzzināsit, kā izmantot curl, lai veiktu pamata POST, GET, DELETE un PUT HTTP pieprasījumus.

Instalēšana čokurošanās

Pēc noklusējuma curl ir instalēta lielākajās operētājsistēmās, tostarp macOS, Linux un Unix.

Varat apstiprināt, ka esat instalējis curl, izpildot tālāk norādīto komandu:

čokurošanās

Iepriekš norādītajai komandai savā terminālī ir jādrukā “izmēģiniet 'curl --help' vai 'curl --manual', lai iegūtu plašāku informāciju.

Ja jūsu operētājsistēmā curl nav instalēts, varat to lejupielādēt un instalēt no cirtas lejupielādes lapa.

HTTP GET pieprasījuma veikšana

HTTP GET pieprasījums ir datu pieprasīšanas metode no tīmekļa serveris. Varat izmantot šos pieprasījumus, lai izgūtu konkrētu resursu, piemēram, tīmekļa lapu, attēlu vai video.

Varat veikt GET pieprasījumu ar čokurošanos tālāk norādītajā formātā:

čokurošanās -X GET 

Aizvietot ar tā resursa URL, kuru vēlaties ienest.

Piemēram:

čokurošanās -X GET https://example.com/todos/1

Palaižot iepriekš minēto komandu, URL tiek nosūtīts HTTP GET pieprasījums https://example.com/todos/1. The -X GET opcija norāda, ka HTTP metode ir GET. Kad komanda tiek izpildīta, curl nosūta GET pieprasījumu serverim, kas norādīts URL, un gaida servera atbildi.

Ja serveris atbild ar veiksmīgs statusa kods, čokurošanās terminālī parāda atbildes pamattekstu, kas šajā gadījumā būtu JSON dati par uzdevumu vienumu ar ID 1.

Varat arī veikt GET pieprasījumu, nenorādot -X atzīmējiet karodziņu, jo pēc noklusējuma curl veic GET pieprasījumu, ja nenorāda pieprasījuma metodi ar -X karogs.

Piemēram:

čokurošanās https://example.com/todos/1

Palaižot iepriekš minēto komandu, tiks atgriezta tāda pati atbilde kā iepriekšējā komanda ar "-X GET” karogs.

HTTP POST pieprasījuma veikšana

HTTP POST pieprasījums ir metode datu saglabāšanai tīmekļa serverī. Atšķirībā no GET pieprasījuma, kas sūta datus kā daļu no URL, POST pieprasījums nosūta datus pieprasījuma ziņojuma pamattekstā. Tas padara POST pieprasījumus drošākus sensitīvas informācijas pārsūtīšanai.

Varat veikt POST pieprasījumu ar čokurošanos tālāk norādītajā formātā:

čokurošanās -X POST -d 

Piemēram:

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

Iepriekš minētā komanda nosūta POST pieprasījumu uz https://example.com/users ar datiem, kas norādīti -d karodziņš kā krava.

The -d karodziņš norāda sūtāmos datus. Šajā gadījumā tika norādīti divi datu parametri: vārds = džeks un [email protected].

Kad jūs izmantojat -d Komandā atzīmējiet karodziņu vairāk nekā vienu reizi, varat sapludināt laukus, izmantojot simbolu &.

Piemēram:

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

Dažus datus, kurus mēģināt nosūtīt POST pieprasījumā, var būt grūti iekļaut vienā termināļa virknē. Šādos gadījumos var būt ideāli lasīt un POST datus no faila, izmantojot curl.

Lai nosūtītu datus no faila POST pieprasījumā kā lietderīgo slodzi ar izliekumu, izmantojiet @ parakstīties uzreiz pēc -d karodziņu, kam seko faila ceļš uz failu, kuru vēlaties, lai curl nosūtītu pieprasījumā.

Piemēram:

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

Satura veida norādīšana

Izmantojot -d karodziņš automātiski iestata galveni Content-Type uz lietojumprogramma/x-www-form-urlencoded. Tomēr varat manuāli norādīt savam pieprasījumam atbilstošo satura veidu, izmantojot -H vai -- virsraksts karodziņu, kam seko vēlamais satura veids.

Piemēram:

curl -H "Satura veids: lietojumprogramma/json" \
 -d '{"nosaukums": "Jack", "e-pasts": "[email protected]"}' \
 https://example.com/api/users

Iepriekš esošajā komandā -H karodziņš norāda Content-Type galveni kā Satura veids: lietojumprogramma/json.

Jūs varat aizstāt lietojumprogramma/json ar jebkuru citu derīgu MIME veidu vai satura tipu, kas ir piemērots datiem, ko sūtāt pieprasījuma pamattekstā. Piemēram, augšupielādējot bināros datus, piemēram, attēlu vai audio failu, satura veids jāiestata uz multipart/form-data.

Tas ļauj norādīt paredzamo nosūtīto datu formātu, kas var būt svarīgi, mijiedarbojoties ar API vai tīmekļa pakalpojumiem, kuru pareizai apstrādei ir nepieciešami konkrēti satura veidi.

HTTP PUT pieprasījuma veikšana

HTTP PUT pieprasījums ir metode esoša resursa atjaunināšanai tīmekļa serverī vai tā izveidei, ja resurss neeksistē. Šī metode atšķiras no POST metodes tādā ziņā, ka tā ir idempotenta. Tas nozīmē, ka PUT metodes izsaukšanai vienu vai vairākas reizes pēc kārtas ir tāda pati ietekme uz serveri.

Varat veikt PUT pieprasījumu ar curl šādā formātā:

curl -X PUT -H "Satura veids: lietojumprogramma/json" \
 -d '{"nosaukums": "Džeks Bauers", "e-pasts": "[email protected]"}' \
 https://example.com/api/users/4

Iepriekš minētā komanda nosūta PUT pieprasījumu JSON formātā uz tīmekļa serveri, kas norādīts iepriekš norādītajā URL, un atjaunina norādīto resursu. Ja norādītais resurss neeksistē, tas izveidos resursu tīmekļa serverī.

HTTP DELETE pieprasījuma veikšana

HTTP DELETE pieprasījums ir noteikta resursa dzēšanas metode no tīmekļa servera. Līdzīgi kā PUT pieprasījumi, DELETE pieprasījumi ir idempotenti. Vairākas reizes nosūtot vienu un to pašu DELETE pieprasījumu vienam un tam pašam resursam, serverī tiks iegūts tāds pats rezultāts.

Varat veikt DELETE pieprasījumu ar curl, izpildot tālāk norādīto komandu:

čokurošanās -X DZĒST http://example.com/api/users/3

Iepriekš minētā komanda nosūta DELETE pieprasījumu tīmekļa serverim, kas norādīts iepriekš norādītajā URL, un dzēš norādīto resursu.

Dzēšanas pieprasījumi neatgriezeniski noņem norādīto resursu no servera. Tādējādi tīmekļa serverim, kas atbalsta DELETE, parasti ir nepieciešama forma autentifikācija vai autorizācija pirms varat iesniegt šo pieprasījumu.

Tālāk ir norādīts, kā veikt DELETE pieprasījumu ar autorizācijas galveni.

curl -X DELETE -H "Autorizācija: Nesējs mans_piekļuves_tokens" \
 https://example.com/api/users/3

Iepriekš minētā komanda nodrošina autentifikācijas informāciju pieprasījuma galvenē, izmantojot nesēja autentifikācijas metodi ar -H karogs. Autorizācija: nesējs my_access_token ir galvenes vērtība. my_access_token ir vietturis jūsu faktiskajai piekļuves pilnvaras vērtībai.

Citi veidi, kā veikt HTTP pieprasījumus

Papildus curl ir vairāki veidi, kā veikt HTTP pieprasījumus atkarībā no pieprasījuma konteksta. Visizplatītākās metodes ietver tīmekļa pārlūkprogrammas, piemēram, Chrome, GUI rīka, piemēram, Postman, vai API klienta izmantošanu.

Katrai no šīm iespējām ir savas priekšrocības un kompromisi. Galu galā rīka izvēle būs atkarīga no jūsu uzdevuma prasībām.