răsuci

Cum se utilizează cURL Post Data from File

Cum se utilizează 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 Linux principale. Pentru a confirma că aveți cURL, utilizați comanda

curl --help

Dacă apare o eroare:

-bash: curl: comanda nu 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 install curl -y

Î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; altfel, rămâneți în jur.

Cerere CURL POST

Cererea 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 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 / autentificare.php HTTP / 1.1 Gazdă: linuxhint.com Content-Type: application / x-www-form-urlencoded username = linuxhint & password = password

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

curl -x POST -d „nume de utilizator = linuxhint & parolă = parolă” https: // linuxhint.com / restricționat / autentificare.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.către / IANA-MIME-Tipuri

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

curl -X POST -d „nume de utilizator”: „linuxhint”, „parolă”: „parolă” -H „Content-Type: application / json” https: // linuxhint.com / restricționat / autentificare.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 pentru al 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 (date.json) conține următoarele valori:


"username": "linuxhint",
"password": "parolă"

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:

curl -X POST -H „Content-Type: application / json” -d „@data.json ”https: // linuxhint.com / restricționat / autentificare.php

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

curl -X POST -H „Content-Type: application / json” --data-binary „@ / home / user / data.json ”https: // linuxhint.com / restricționat / autentificare.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 (date.txt) conținând următoarele valori

nume utilizator = linuxhint & parolă = parolă

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

curl -X POST -H „Content-Type: text / plain” -d „date.txt ”https: // linuxhint.com / restricționat / autentificare.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 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 pentru lectură și distrați-vă cu cURL.

Cum se folosește GameConqueror Cheat Engine în Linux
Articolul acoperă un ghid despre utilizarea sistemului de înșelăciune GameConqueror în Linux. Mulți utilizatori care joacă jocuri pe Windows folosesc ...
Cele mai bune emulatoare pentru console de jocuri pentru Linux
Acest articol va enumera programele populare de emulare a consolei de jocuri disponibile pentru Linux. Emularea este un strat de compatibilitate softw...
Best Linux Distros for Gaming in 2021
The Linux operating system has come a long way from its original, simple, server-based look. This OS has immensely improved in recent years and has no...