curl(1)

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

curl(1) — Linux manuelsida

NAMN

curl - överför en URL

SYNOPSIS

curl [alternativ / URL:er]

BESKRIVNING

curl är ett verktyg för att överföra data från eller till en server med hjälp av URL:er. Det stöder följande protokoll: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS och WSS.

curl drivs av libcurl för alla överföringsrelaterade funktioner. Se libcurl(3) för detaljer.

URL

URL-syntaxen är protokollberoende. En detaljerad beskrivning finns i RFC 3986.

Om du anger en URL utan ett inledande protocol:// schema, gissar curl vilket protokoll du vill använda. Det standardiserar till HTTP men antar andra baserat på ofta använda värdnamnsprefix. Till exempel, för värdnamn som börjar med "ftp." antar curl att du vill använda FTP.

Du kan ange valfritt antal URL:er på kommandoraden. De hämtas i sekventiell ordning om du inte använder -Z, --parallel. Du kan blanda kommandoradsalternativ och URL:er i vilken ordning som helst.

curl försöker återanvända anslutningar när flera överföringar görs, vilket förbättrar hastigheten.

Exempel på en IPv6-zon-ID i URL:

 "http://[fe80::3%25eth0]/"

GLOBBING

Du kan ange flera URL:er eller delar av URL:er genom att skriva listor inom {} eller intervaller inom []. Detta kallas "globbing".

Exempel på listor:

 "http://site.{one,two,three}.com"

Exempel på intervall:

 "ftp://ftp.example.com/file[1-100].txt"
 "ftp://ftp.example.com/file[a-z].txt"

För att stänga av globbing, använd -g, --globoff.

VARIABLER

curl stöder kommandoradsvariabler (tillagt i 8.3.0). Ange variabler med --variable namn=innehåll eller --variable namn@fil.

Expandera variabler i alternativparametrar med Mall:namn.

Exempel på att importera miljövariabler:

 --variable '%USER'
 --expand-url = "https://example.com/api/Mall:USER/method"

Funktioner för variabelinnehåll inkluderar trim, json, url, och b64.

UTGÅNG

Om inget annat anges skriver curl mottagen data till stdout. Använd -o, --output eller -O, --remote-name för att spara data till en fil.

PROTOKOLL

curl stöder ett flertal protokoll. Din specifika byggnad kan sakna stöd för vissa av dem.

  • DICT - Slå upp ord med onlineordböcker.
  • FILE - Läs eller skriv lokala filer.
  • FTP(S) - Stöd för File Transfer Protocol, med eller utan TLS.
  • HTTP(S) - Stöd för HTTP version 0.9, 1.0, 1.1, 2 och 3.
  • IMAP(S) - Läs e-post med eller utan TLS.
  • LDAP(S) - Sök i kataloger med eller utan TLS.
  • MQTT - Stöd för MQTT version 3.
  • POP3(S) - Hämta e-post från en POP3-server.
  • RTMP(S) - Hämta strömmande media.
  • SCP/SFTP - Stöd för överföring via SSH.
  • SMTP(S) - Skicka e-post med eller utan TLS.
  • TELNET - Interaktiv session.
  • TFTP - Hämta och ladda upp filer.

PROGRESS METER

curl visar normalt en framstegsmätare under operationer. Den visar överförd datamängd, hastighet och uppskattad tid kvar.

För att få en framstegs"bar", använd -#, --progress-bar. För att stänga av framstegsmätaren, använd -s, --silent.

VERSION

Denna manuelsida beskriver curl 8.6.0. För att kontrollera den senaste versionen, kör:

 curl https://curl.se/info

Den senaste versionen av denna manuelsida finns på: https://curl.se/docs/manpage.html

ALTERNATIV

Alternativ börjar med ett eller två bindestreck. Många av alternativen kräver ett extra värde bredvid sig. Om den angivna texten inte börjar med ett bindestreck, antas det vara och behandlas som en URL.

Den korta "enkelbindestrecks"-formen av alternativen, till exempel -d, kan användas med eller utan ett mellanslag mellan det och dess värde, även om ett mellanslag är en rekommenderad avgränsare. Den långa "dubbelbindestrecks"-formen, till exempel --data, kräver ett mellanslag mellan det och dess värde.

Kortversionalternativ som inte behöver några extra värden kan användas direkt intill varandra, till exempel kan du ange alla alternativen -O, -L och -v samtidigt som -OLv.

Generellt aktiveras alla booleska alternativ med --option och inaktiveras igen med --no-option. Det vill säga, du använder samma alternativnamn men föregår det med "no-".

När -:, --next används, återställs tolkningsstatusen och du börjar om med en ren alternativstatus, förutom för de alternativ som är "globala". Globala alternativ behåller sina värden och betydelse även efter -:, --next.

Följande alternativ är globala: --fail-early, --libcurl, --parallel-immediate, -Z, --parallel, -#, --progress-bar, --rate, -S, --show-error, --stderr, --styled-output, --trace-ascii, --trace-config, --trace-ids, --trace-time, --trace och -v, --verbose.

--abstract-unix-socket <sökväg> (HTTP) Anslut via ett abstrakt Unix-domän-uttag i stället för att använda nätverket. Observera: netstat visar sökvägen för ett abstrakt uttag med ett inledande '@', men argumentet <sökväg> ska inte ha detta tecken.

Om --abstract-unix-socket anges flera gånger används det sista värdet.

Exempel:

curl --abstract-unix-socket socketpath https://example.com

Se även --unix-socket. Tillagt i 7.53.0.

--alt-svc <filnamn> (HTTPS) Detta alternativ aktiverar alt-svc-parsern i curl. Om filnamnet pekar på en befintlig alt-svc-cachefil används den. Efter en slutförd överföring sparas cachen till filnamnet igen om den har ändrats.

Ange ett "" filnamn (noll längd) för att undvika inläsning/sparning och låta curl hantera cachen i minnet.

Om detta alternativ används flera gånger laddar curl innehåll från alla filer, men den sista används för sparning.

--alt-svc kan användas flera gånger i en kommandorad.

Exempel:

curl --alt-svc svc.txt https://example.com

Se även --resolve och --connect-to. Tillagt i 7.64.1.

--anyauth (HTTP) Instruerar curl att automatiskt välja autentiseringsmetod och använda den säkraste som fjärrsidan stödjer. Detta görs genom att först skicka en begäran och kontrollera svarshuvuden, vilket kan medföra en extra nätverksrunda. Används i stället för att ställa in en specifik autentiseringsmetod som du kan göra med --basic, --digest, --ntlm och --negotiate.

Det rekommenderas inte att använda --anyauth vid uppladdning från stdin, eftersom det kan kräva att data skickas två gånger och klienten måste kunna spola tillbaka. Om detta behov uppstår vid uppladdning från stdin misslyckas överföringen.

Används tillsammans med -u, --user.

Att ange --anyauth flera gånger har ingen extra effekt.

Exempel:

curl --anyauth --user me:pwd https://example.com

Se även --proxy-anyauth, --basic och --digest.

-a, --append (FTP SFTP) När det används vid uppladdning gör detta alternativ att curl lägger till i målfilen i stället för att skriva över den. Om den fjärrstyrda filen inte finns skapas den. Observera att denna flagga ignoreras av vissa SFTP-servrar (inklusive OpenSSH).

Att ange -a, --append flera gånger har ingen extra effekt. Inaktivera det igen med --no-append.

Exempel:

curl --upload-file local --append ftp://example.com/

Se även -r, --range och -C, --continue-at.

--aws-sigv4 <provider1[:provider2[:region[:service]]]> (HTTP) Använd AWS V4-signaturautentisering i överföringen.

Argumentet provider är en sträng som används av algoritmen vid skapande av utgående autentiseringshuvuden.

Argumentet region pekar på ett geografiskt område för en resurskollektion (region-kod) när regionsnamnet utelämnas från slutpunkten.

Argumentet service pekar på en funktion tillhandahållen av en molntjänst (service-kod) när servicens namn utelämnas från slutpunkten.

Om --aws-sigv4 anges flera gånger används det sista värdet.

Exempel:

curl --aws-sigv4 "aws:amz:us-east-2:es" --user "key:secret" https://example.com

Se även --basic och -u, --user. Tillagt i 7.75.0.

--basic (HTTP) Instruerar curl att använda HTTP Basic-autentisering med fjärrvärden. Detta är standardinställningen och detta alternativ är vanligtvis onödigt, om du inte använder det för att åsidosätta ett tidigare inställt alternativ som anger en annan autentiseringsmetod (som --ntlm, --digest eller --negotiate).

Används tillsammans med -u, --user.

Att ange --basic flera gånger har ingen extra effekt.

Exempel:

curl -u name:password --basic https://example.com

Se även --proxy-basic.

--ca-native (TLS) Instruerar curl att använda CA-lagringen från det inbyggda operativsystemet för att verifiera motparten. Som standard använder curl annars en CA-lagring som tillhandahålls i en enda fil eller katalog, men när detta alternativ används integrerar det med operativsystemets egen lagring.

Detta alternativ fungerar endast för curl på Windows när det byggts för att använda OpenSSL. När curl på Windows byggs för att använda Schannel är denna funktion underförstådd och curl använder då endast den inbyggda CA-lagringen.

curl byggt med wolfSSL stöder också detta alternativ (tillagt i 8.3.0).

Att ange --ca-native flera gånger har ingen extra effekt. Inaktivera det igen med --no-ca-native.

Exempel:

curl --ca-native https://example.com

Se även --cacert, --capath och -k, --insecure. Tillagt i 8.2.0.