Kā sākt lietot Curl un kāpēc: praktisks ievads

Neatkarīgi no tā, vai tā pārbauda API izeju pirms tās izvietošanas ražošanā, vai vienkārši ieguva atbildi no vietnes (piemēram, lai pārbaudītu, vai tā nav uz leju), Curl ir praktiski visur redzams.

Man kā datu zinātniekam to laiku pa laikam nācās izmantot. Tomēr biežāk es vienkārši nomainīju parametrus no kopētas un ielīmētas čokurošanās komandas, kas apņēma manas komandas Slack kanālu.

Es nolēmu, ka man ir labāk jāsaprot šis spēcīgais rīks, ja es vēlētos to pilnībā izmantot, un tagad es esmu šeit, lai dalītos ar dažām interesantākajām lietām, kuras atradu šajā čokurošanās apmācībā.

Ja jums ir kādi padomi vai ieteikumi, kurus vēlaties pievienot, lūdzu, dariet to komentāros, jo mana izpratne par šo rīku joprojām ir agrīnā stadijā.

Čokurošanās: kam tas ir labs?

Curl ir komandrindas rīks, kas ļauj mums veikt HTTP pieprasījumus no čaulas. Tas aptver arī daudzus citus protokolus, piemēram, FTP, lai gan tie pārsniedz šīs apmācības darbības jomu.

Tās nosaukums ir “Client URL”, un to izstrādāja zviedru izstrādātājs Daniels Stenbergs. Tas ir atvērtā pirmkoda projekts, un tā kodu var atrast šeit, ja jums rodas vēlme piedalīties.

To var izsaukt no iecienītākā termināļa, un tas parasti tiek iepriekš instalēts operētājsistēmās, kuru pamatā ir Linux. Pretējā gadījumā to parasti var lejupielādēt, izmantojot apt-get Linux, un brūvēt Mac.

GET metodes izsaukšana

Pamata formā čokurošanās komanda izskatīsies šādi:

curl //www.dataden.tech

Kērlēšanas noklusējuma darbība ir HTTP GET metodes izsaukšana uz norādīto URL. Tādā veidā šīs komandas produkcija būs visa HTTP atbildes pamatteksts (šajā gadījumā HTML), kuru vietne atgriež GET, kas tiks ierakstīts kā norādīts stdout .

Ja vēlaties izlasīt atbildi, neatstājot čaulu, es iesaku to vismaz ievadīt mazāk komandā, lai varētu viegli ritināt izvadi.

Daudzas reizes mēs vēlēsimies atbildes saturu novirzīt failā. Tas tiek darīts ar -o argumentu, piemēram:

curl -o output.html www.dataden.tech

kas ir līdzvērtīgs:

curl www.dataden.tech > output.html

Varat arī norādīt tās vietnes URL, uz kuru vēlaties izsaukt čokurošanos, ar argumentu -s , piemēram:

curl -s //www.dataden.tech

ļaujot mainīt argumentu secību.

Varat arī izmantot –next, lai norādītu vairākus URL, lai gan oficiālais dokuments iesaka tā vietā izsaukt čokurošanos katram URL citā komandā.

POST uz URL

Dažreiz vēlaties pārbaudīt, vai API darbojas pareizi, un parasti tam būs jānosūta argumenti.

Parasti mēs to darīsim, izmantojot POST metodi, nododot kādu JSON ar visiem nepieciešamajiem parametriem. Ir daudz veidu, kā to izdarīt ar čokurošanos.

Argumentu vērtības varat nodot šādi:

curl --data "name=John&surname=Doe" //www.dataden.tech

Vai kā parasts JSON:

curl --data '{"name":"John","surname":"Doe"}' \//www.dataden.tech

Izmantojot -Datu ir līdzvērtīga izmantojot -d, un abi padarīs metodi izmaiņas POST automātiski. Tomēr mēs varam izmantot arī karodziņu -X ( –request ), lai norādītu, kuru metodi mēs vēlamies izmantot:

curl -X "POST" \-d "name=John&surname=Doe" //www.example.com

Notiek vietnes galvenes

Dažreiz mums vienkārši ir ātri jāpārbauda, ​​vai vietne joprojām darbojas, patiešām nevēloties ielādēt visu potenciāli smago reakciju. Citreiz galvenēs tiek saglabātas svarīgas konfigurācijas.

Šie divi lietošanas gadījumi tiek aplūkoti arī čokurošanās. Mēs varam izmantot –include ( -i ) parametru, lai iekļautu galvenes, un –head ( -I - tas ir kapitāls 'i'-), lai iekļautu tikai galvenes (izsaucot HEAD metodi).

Lietotāja aģenta vērtības iestatīšana

Tagad, kad esmu iepazinies ar pamatiem, ļaujiet man iepazīties ar dažām foršākajām lietām, kuras esmu atradis, ko mēs varam darīt ar čokurošanos.

Izmantojot argumentu user-agent, varat norādīt, kuras ierīces un pārlūkprogrammas versijas izmantojat, ja vietne tiek renderēta atšķirīgi.

Izmantojot šo, jūs varētu redzēt vietnes mobilo versiju no klēpjdatora vai otrādi.

No drošības viedokļa tas, iespējams, rada dažus jautājumus. Es līdz šim nezināju, cik viegli ir izlikties, ka izmantoju citu ierīci (pat neizmantojot virtuālo mašīnu), un, strādājot krāpšanas novēršanas jomā, es redzu, kāpēc tā varētu būt problēma.

Ar to teikts, ja vien jūs to izmantojat labi, tas ir lielisks veids, kā redzēt vietni no planšetdatora, mobilās ierīces vai klēpjdatora, lai nosauktu tikai dažus.

Šis piemērs ir tieši no oficiālās dokumentācijas (lai gan lietotāju aģentu saraksti ir viegli pieejami tiešsaistē).

curl --user-agent "Mozilla/4.73 [en] (X11; U; Linux 2.2.15 i686)" www.example.com

Savienojuma ar čokurošanās laiks

Vēl viens iemesls, kāpēc es sāku uzzināt vairāk par čokurošanos, bija tas, ka es vēlējos uzzināt, cik ilgi tieši manai vietnei vajadzēja atbildēt.

Lai gan pamatdokumentācija to neaptver, mazliet googling atklāja šo komandu, kas man šķita ļoti noderīga:

curl -w "%{time_total}\n" -o /dev/null -s www.example.com

Tas vienkārši izvadīs kopējo laiku, kas vajadzīgs, lai saņemtu atbildi no norādītā domēna.

Vispārīgāk, arguments -w (–write-out) aizņem īpašu formatēšanas virkni un aizpilda rezervētos atslēgvārdus ar dažādām atbildes īpašībām formatētā veidā. Visi atslēgvārdi un to attiecīgās vērtības ir pieejamas komandas man lapā.

Turpmāka lasīšana

Šeit ir dažas saites, kas jums var šķist interesantas, ja vēlaties uzzināt vairāk par šo plašo tēmu:

  • Lietotāju aģentu saraksts Lietotāju aģentu argumentu apkopojums dažādām ierīcēm un pārlūkiem.
  • Čokurošanās oficiālā dokumentācija.
  • Čokurošanās lapa.

Secināt

Es ceru, ka šis ievads jums ir noderīgs, un jūs pametat šo apmācību, zinot vismaz šīs ērtās komandas pamatus.

Kā jau teicu iepriekš, es arī joprojām mācos, un novērtēšu citas interesantas zināšanas par programmas lietošanu. Tas pats attiecas uz visām atsauksmēm par to, ko esmu rakstījis līdz šim.

Ja es esmu pieļāvis kādas kļūdas vai ir kāda daļa, kas, jūsuprāt, es būtu varējis formulēt skaidrāk, lūdzu, paziņojiet man.

Es ceru, ka drīz jūs atkal redzēšu, laimīgu kodēšanu!

Sekojiet man vidēji un čivināt, lai sekotu līdzi manām konsultācijām, padomiem un rakstiem. Apsveriet iespēju kopīgot šo rakstu ar tīmekļa izstrādātāja draugu, ja tas jums patika (vai kā pasīvu agresīvu veidu, kā likt viņiem iemācīties čokurošanos).

Sākotnēji publicēts vietnē www.dataden.tech 2018. gada 7. oktobrī.