Android

Curl-opdracht in linux met voorbeelden

Linux/Mac Terminal Tutorial: How To Use The cURL Command

Linux/Mac Terminal Tutorial: How To Use The cURL Command

Inhoudsopgave:

Anonim

curl is een opdrachtregelhulpprogramma voor het overbrengen van gegevens van of naar een server die is ontworpen om zonder gebruikersinteractie te werken. Met curl kunt u gegevens downloaden of uploaden met behulp van een van de ondersteunde protocollen, waaronder HTTP, HTTPS, SCP, SFTP en FTP. curl biedt een aantal opties waarmee u overdrachten kunt hervatten, de bandbreedte, proxy-ondersteuning, gebruikersauthenticatie en nog veel meer kunt beperken.

In deze zelfstudie laten we u zien hoe u de krultool kunt gebruiken door praktische voorbeelden en gedetailleerde uitleg van de meest voorkomende krulopties.

Curl installeren

Het curl-pakket is vandaag vooraf geïnstalleerd op de meeste Linux-distributies.

Om te controleren of het Curl-pakket op uw systeem is geïnstalleerd, opent u uw console, typt u curl en drukt u op Enter. Als curl geïnstalleerd, zal het systeem curl: try 'curl --help' or 'curl --manual' for more information afdrukken curl: try 'curl --help' or 'curl --manual' for more information . Anders ziet u zoiets als curl command not found .

Als curl niet is geïnstalleerd, kunt u het eenvoudig installeren met behulp van de pakketbeheerder van uw distributie.

Installeer Curl op Ubuntu en Debian

sudo apt update sudo apt install curl

Installeer Curl op CentOS en Fedora

sudo yum install curl

Hoe Curl te gebruiken

De syntaxis voor de opdracht curl is als volgt:

curl

In zijn eenvoudigste vorm, wanneer opgeroepen zonder enige optie, geeft curl de opgegeven bron weer naar de standaarduitvoer.

Als u bijvoorbeeld de startpagina van example.com wilt ophalen, zou u:

curl example.com

Met de opdracht wordt de broncode van de startpagina van example.com in uw terminalvenster afgedrukt.

Als er geen protocol is opgegeven, probeert curl het protocol te raden dat u wilt gebruiken en wordt standaard HTTP .

Sla de uitvoer op in een bestand

Gebruik de optie -o of -O om het resultaat van de opdracht curl te slaan.

Kleine letters -o slaat het bestand op met een vooraf gedefinieerde bestandsnaam, die in het onderstaande voorbeeld vue-v2.6.10.js :

curl -o vue-v2.6.10.js

Hoofdletter -O bewaart het bestand met de originele bestandsnaam:

curl -O

Download meerdere bestanden

Als u meerdere bestanden tegelijk wilt downloaden, gebruikt u meerdere -O opties, gevolgd door de URL naar het bestand dat u wilt downloaden.

In het volgende voorbeeld downloaden we de arch Linux- en Debian ISO-bestanden:

curl -O http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso \ -O

Een download hervatten

U kunt een download hervatten met de optie -C - . Dit is handig als uw verbinding wordt verbroken tijdens het downloaden van een groot bestand en in plaats van helemaal opnieuw te beginnen met downloaden, kunt u doorgaan met de vorige.

Als u bijvoorbeeld het isobestand Ubuntu 18.04 downloadt met de volgende opdracht:

curl -O

en plotseling verbreekt je verbinding kun je de download hervatten met:

curl -C - -O

Download de HTTP-headers van een URL

HTTP-headers zijn door dubbele punten gescheiden sleutel / waarde-paren die informatie bevatten zoals user-agent, inhoudstype en codering. Headers worden doorgegeven tussen de client en de server met het verzoek of de reactie.

Gebruik de optie -I om alleen de HTTP-headers van de opgegeven bron op te halen:

curl -I --http2

De optie -L instrueert curl om elke omleiding te volgen totdat deze de eindbestemming bereikt:

curl -L google.com

Wijzig de User-Agent

Soms kan bij het downloaden van een bestand de externe server worden ingesteld om de Curl User-Agent te blokkeren of om verschillende inhoud te retourneren, afhankelijk van het bezoekersapparaat en de browser.

Gebruik in dergelijke situaties om een ​​andere browser te emuleren de optie -A .

Om bijvoorbeeld Firefox 60 te emuleren, zou u het volgende gebruiken:

curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"

Geef een maximale overdrachtssnelheid op

Met de optie --limit-rate kunt u de gegevensoverdrachtsnelheid beperken. De waarde kan worden uitgedrukt in bytes, kilobytes met het achtervoegsel k , megabytes met het achtervoegsel m en gigabytes met het achtervoegsel g .

In het volgende voorbeeld downloadt curl het binaire bestand Go en beperkt de downloadsnelheid tot 1 mb:

curl --limit-rate 1m -O

Deze optie is handig om te voorkomen dat curl alle beschikbare bandbreedte verbruiken.

Bestanden overzetten via FTP

Om toegang te krijgen tot een beveiligde FTP-server met curl , gebruikt u de optie -u en geeft u de gebruikersnaam en het wachtwoord op zoals hieronder wordt weergegeven:

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

Eenmaal ingelogd, toont de opdracht alle bestanden en mappen in de thuismap van de gebruiker.

U kunt een enkel bestand downloaden van de FTP-server met de volgende syntaxis:

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/file.tar.gz

Om een ​​bestand naar de FTP-server te uploaden, gebruikt u de -T gevolgd door de naam van het bestand dat u wilt uploaden:

curl -T newfile.tar.gz -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

Verzend cookies

Soms moet u een HTTP-verzoek met specifieke cookies indienen om toegang te krijgen tot een externe bron of om een ​​probleem op te lossen.

Bij het aanvragen van een resource met curl worden standaard geen cookies verzonden of opgeslagen.

Om cookies naar de server te sturen, gebruikt u de schakelaar -b gevolgd door een bestandsnaam met de cookies of een string.

Om bijvoorbeeld het Oracle Java JDK rpm-bestand jdk-10.0.2_linux-x64_bin.rpm te downloaden, moet u een cookie met de naam oraclelicense met de waarde a oraclelicense :

curl -L -b "oraclelicense=a" -O

Proxy's gebruiken

curl ondersteunt verschillende soorten proxy's, waaronder HTTP, HTTPS en SOCKS. Om gegevens over te dragen via een proxyserver, gebruikt u de optie -x ( --proxy ), gevolgd door de proxy-URL.

De volgende opdracht downloadt de opgegeven bron met behulp van een proxy op 192.168.44.1 poort 8888 :

curl -x 192.168.44.1:8888

Als de proxyserver verificatie vereist, gebruikt u de optie -U ( --proxy-user ) gevolgd door de gebruikersnaam en het wachtwoord gescheiden door een dubbele punt ( user:password ):

curl -U username:password -x 192.168.44.1:8888

Conclusie

curl is een opdrachtregelprogramma waarmee u gegevens van of naar een externe host kunt overzetten. Het is handig voor het oplossen van problemen, het downloaden van bestanden en meer.

De voorbeelden in deze zelfstudie zijn eenvoudig, maar tonen de meest gebruikte curl en zijn bedoeld om u te helpen begrijpen hoe de opdracht curl werkt.

Ga voor meer informatie over curl naar de Curl-documentatiepagina.

krulterminal