Cum se utilizează cURL Post Data from File

How Use Curl Post Data From File



cURL este un utilitar de linie de comandă gratuit și open-source utilizat pentru transferul de date către sau de la o gazdă la distanță cu interacțiune minimă cu utilizatorul. cURL funcționează cu protocoale primare precum HTTP, FTP, SCP și SFTP.

Permite utilizatorilor să încarce și să descarce date folosind comenzi unice sau scripturi bash. De asemenea, oferă funcții precum autentificarea utilizatorului, tunelarea proxy-ului, reluarea descărcărilor, încărcări bazate pe formulare, certificate SSL și multe altele. Este sigur să spunem că cURL este mai mult decât un client HTTP.







Acest tutorial vă va conduce printr-o funcționalitate cURL care permite utilizatorilor să efectueze cereri de postare HTTP utilizând date de fișiere.



Înainte de a începe, permiteți-mi să menționez că acesta nu este un ghid pentru începători pentru curl; aveți nevoie de un anumit nivel de cunoștințe anterioare, în special cunoștințe despre protocoalele de rețea, cereri HTTP și multe altele.



Înainte de a ne putea scufunda în utilizarea cURL pentru a efectua cereri POST, permiteți-ne mai întâi să configurăm.





Cum se instalează cURL

În majoritatea cazurilor, veți găsi în mod implicit cURL instalat în distribuțiile principale Linux. Pentru a confirma că aveți cURL, utilizați comanda

curl –-help

Dacă apare o eroare:



-bash: curl:comandanu a fost găsit

Va trebui să-l instalați înainte de a continua.

Utilizați managerul de pachete implicit pentru a finaliza instalarea așa cum se arată în comenzile de mai jos:

sudo apt-get update

sudo apt-get installrăsuci-și

Înainte de a discuta despre cum să POST date dintr-un fișier cu cURL, permiteți-mi să vorbesc pe scurt despre cererea POST. Ca de obicei, dacă sunteți deja familiarizat cu acest lucru, vă puteți simți liber să treceți înainte; în caz contrar, rămâneți în jur.

Cerere CURL POST

Solicitarea de postare HTTP este una dintre cele mai populare metode de solicitare HTTP / HTTPS utilizate pentru a trimite date către o gazdă la distanță pentru a crea sau actualiza o resursă.

Acum :

Vă rugăm să nu confundați metoda cu PUT; deși sunt destul de asemănătoare, au diferențele lor.

Datele trimise utilizând o cerere POST sunt stocate în principal în corpul cererii cererii HTTP.

De exemplu, luați în considerare solicitarea POST de mai jos care trimite numele de utilizator și parola, precum și valorile acestora.

POST/restricționat/login.php HTTP/1.1Gazdă: linuxhint.com Content-Type: application/x-www-form-urlencodednume de utilizator= linuxhint&parola= parola

Pentru a trimite cererea POST de mai sus folosind cURL, putem specifica comenzile ca:

răsuci-XPOST-d nume de utilizator= linuxhint&parola= parola https://linuxhint.com/restricționat/login.php

În comanda de mai sus, am folosit opțiunea -d pentru a spune cURL să includă anteturile implicite, care este Content-Type: application / x-www-form-urlencoded

Opțiunea -X specifică metoda de solicitare HTTP pentru a utiliza, în acest caz, cererea HTTP POST.

cURL Specificați tipul de conținut

În unele cazuri, am putea dori să specificăm [în mod explicit] tipul de conținut atunci când trimitem solicitarea. Entitatea Content-Type din antet specifică tipul de suport al resursei pe care o trimitem. Tipul media este, de asemenea, cunoscut sub denumirea de tip MIME.

Dacă doriți să aflați despre tipurile MIME, luați în considerare resursa furnizată mai jos:

https://linkfy.to/IANA-MIME-Types

Pentru a specifica tipul de conținut într-o solicitare CURL, putem utiliza steagul -H. De exemplu, permiteți-ne să trimitem tipul de aplicație MIME / JSON.

răsuci-XPOST-d {nume de utilizator: linuxhint, parolă: parolă} -HContent-Type: aplicație/json https://linuxhint.com/restricționat/login.php

Cele de mai sus specifică faptul că dorim să trimitem un obiect JSON la adresa URL furnizată. Puteți utiliza acest lucru pentru a citi valorile dintr-un fișier JSON sau a le trimite ca brut.

Cum să citiți date dintr-un fișier

Să presupunem că doriți să faceți cereri în linia de comandă folosind cURL, dar aveți datele de trimis stocate într-un fișier. Puteți utiliza Content-Type pentru a specifica tipul de suport și apoi treceți calea fișierului care conține datele. Pentru acest exemplu, voi ilustra folosind un obiect JSON.

Fișierul JSON (data.json) conține următoarele valori:

{
'nume de utilizator':„linuxhint”,
'parola':'parola'
}

Pentru a trimite aceste date dintr-un fișier JSON, putem folosi -d și apoi să trecem numele de fișier așa cum se arată în comanda de mai jos:

răsuci-XPOST-HContent-Type: aplicație/json-d @data.json https://linuxhint.com/restricționat/login.php

De asemenea, puteți utiliza opțiunea –data-binary.

răsuci-XPOST-HContent-Type: aplicație/json--data-binar @ /Acasă/utilizator/data.json https://linuxhint.com/restricționat/login.php

De asemenea, puteți utiliza un fișier text pentru a trimite datele; tot ce trebuie să specificați este Content-Type ca text / simplu.

De exemplu, un fișier text (data.txt) care conține următoarele valori

nume de utilizator= linuxhint&parola= parola

Folosind comanda cURL, pur și simplu trimiteți cererea ca:

răsuci-XPOST-HContent-Type: text/simplu-ddata.txt https://linuxhint.com/restricționat/login.php

Puteți utiliza alte tipuri de fișiere pe care le puteți utiliza, cum ar fi XML, HTML și multe altele.

Concluzie

În acest tutorial, am discutat despre cum să facem cereri POST și să transmitem date în diferite formate. Este bine să rețineți că, pe lângă faptul că este foarte puternic, cURL este, de asemenea, foarte flexibil. Poate combina o colecție de opțiuni într-o singură comandă pentru a crea cereri puternice. Pentru mai multe informații, recomand documentația cURL, deoarece este bine scrisă.

https://curl.se/docs/

Vă mulțumim că ați citit și distrați-vă cu cURL.