{"id":14048,"date":"2022-06-23T17:14:06","date_gmt":"2022-06-23T17:14:06","guid":{"rendered":"https:\/\/profi-tutorials.de\/linux\/?p=14048"},"modified":"2022-06-23T17:14:07","modified_gmt":"2022-06-23T17:14:07","slug":"befehl-curl","status":"publish","type":"post","link":"https:\/\/profi-tutorials.de\/linux\/administration\/befehl-curl\/","title":{"rendered":"Der Befehl curl"},"content":{"rendered":"<p>In diesem Beitrag lernen Sie den Befehl curl kennen, welcher unter Linux- \/ UNIX-Betriebssystemen zur Datei&uuml;bertragung von oder zu einem Server eingesetzt wird. Es werden verschiedene Protokolle unterst&uuml;tzt &ndash; dazu geh&ouml;ren etwa HTTP, HTTPS, <a class=\"glossaryLink cmtt_Informatik cmtt_Netzwerke\"  aria-describedby=\"tt\"  data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;FTP [File Transfer Protocol]&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;FTP steht f&uuml;r File Transfer Protocol und ist ein Protokoll zur Datei&uuml;bertragung &uuml;ber IP-Netzwerke.&lt;\/div&gt;\"  href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/ftp\/\"  target=\"_blank\"  data-mobile-support=\"0\"  data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex='0' role='link'>FTP<\/a>, <a class=\"glossaryLink cmtt_Informatik cmtt_Netzwerke\" aria-describedby=\"tt\" data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;FTPS [FTP Secure]&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;FTPS steht f&uuml;r FTP Secure bzw. File Transfer Protocol Secure und ist eine Erweiterung des weit verbreiteten File Transfer Protocol.&lt;\/div&gt;\" href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/ftps\/\" target=\"_blank\" data-mobile-support=\"0\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">FTPS<\/a>, <a class=\"glossaryLink cmtt_Informatik cmtt_Netzwerke\"  aria-describedby=\"tt\"  data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;SCP [Secure Copy]&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;SCP steht f&uuml;r Secure Copy und ist ein Protokoll f&uuml;r das sichere, verschl&uuml;sselte Kopieren und &Uuml;bertragen von Dateien &uuml;ber eine Netzwerkverbindung.&lt;\/div&gt;\"  href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/scp\/\"  target=\"_blank\"  data-mobile-support=\"0\"  data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex='0' role='link'>SCP<\/a>, <a class=\"glossaryLink cmtt_Informatik cmtt_Netzwerke\" aria-describedby=\"tt\" data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;Telnet [Teletype Network]&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;Telnet steht f&uuml;r Teletype Network und ist ein Client\/Server-Netzwerkprotokoll, welches auf dem zeichenorientierten Datenaustausch mittels TCP basiert.&lt;\/div&gt;\" href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/telnet\/\" target=\"_blank\" data-mobile-support=\"0\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">TELNET<\/a> und LDAP. Das Werkzeug wurde f&uuml;r den Einsatz ohne Benutzerinteraktion entwickelt und wird entsprechend &uuml;ber Befehlszeilenargumente gesteuert.<\/p>\n<p>F&uuml;r die Daten&uuml;bertragung greift curl auf die Bibliothek libcurl zur&uuml;ck. curl bietet dar&uuml;ber hinaus eine Vielzahl n&uuml;tzlicher Funktionen, wie zum Beispiel die Proxy-Unterst&uuml;tzung, Benutzerauthentifizierung, FTP Upload, HTTP Post, SSL-Verbindungen und Cookies.<\/p>\n<h2 id=\"t-1655721757564\">Installation<\/h2>\n<p><strong>curl <\/strong>ist im gleichnamigen Paket enthalten und kann &uuml;ber den folgenden Befehl mit <strong>apt <\/strong>installiert werden:<\/p>\n<pre>apt-get install curl<\/pre>\n<p>Wenn Sie n&auml;here Informationen zur Paket- und Quellenverwaltung mit <strong>apt <\/strong>erfahren wollen, lesen Sie auch <a href=\"https:\/\/profi-tutorials.de\/linux\/installation\/paket-verwaltung-apt\/\" target=\"_blank\" style=\"outline: none;\" rel=\"noopener\">unseren Beitrag dazu<\/a>.<\/p>\n<h2 id=\"t-1655721757565\">Allgemeine Syntax<\/h2>\n<p>Die allgemeine <a class=\"glossaryLink cmtt_Allgemein cmtt_Informatik\" aria-describedby=\"tt\" data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;Syntax&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;&#8203;Im  Allgemeinen wird unter Syntax ein Regel&#8203;system verstanden, welches zur  Kombination elementarer Zeichen zu zusammengesetzten &#8203;Zeichen in (...)&lt;\/div&gt;\" href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/syntax\/\" target=\"_blank\" data-mobile-support=\"0\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">Syntax<\/a> von <strong>curl <\/strong>lautet folgenderma&szlig;en:<\/p>\n<pre>curl [Optionen] [URL(s)]<\/pre>\n<p>Es k&ouml;nnen beliebig viele URLs durch Leerzeichen getrennt aufgelistet werden &ndash; sie werden dann in der Reihenfolge, in der sie angegeben wurden, verarbeitet. Die Syntax der URLs ist abh&auml;ngig vom jeweiligen Protokoll und kann in <a href=\"https:\/\/datatracker.ietf.org\/doc\/html\/rfc3986\" target=\"_blank\" style=\"outline: none;\" rel=\"noopener\">RFC 3986<\/a> nachgelesen werden.<\/p>\n<p>Die Angabe mehrerer, sich leicht unterscheidender URLs ist unter Verwendung geschweifter Klammern m&ouml;glich. In den geschweiften Klammern stehen dann kommasepariert die Varianten des entsprechenden Bestandteils der URL. Ein Beispiel, welches die verschiedenen Silos dieser Website in einer URL b&uuml;ndelt, sieht folgenderma&szlig;en aus:<\/p>\n<p style=\"\">https:\/\/profi-tutorials.de\/<strong>{linux,e-business,it-consulting,foto}<\/strong>\/<\/p>\n<p>Weiterhin ist es auch m&ouml;glich, alphanumerische Sequenzen, wie etwa <strong>&ldquo;[a-z]&rdquo;<\/strong>, <strong>&ldquo;[0-10]&rdquo;<\/strong> oder <strong>&ldquo;[001-100]&rdquo;<\/strong> zu verwenden. Seit <strong>curl <\/strong><strong>7.15.1<\/strong> (die Version ist mithilfe der <strong>Option -V<\/strong> zu &uuml;berpr&uuml;fen, siehe unten) ist es zudem auch m&ouml;glich eine Schrittweite bei den Sequenzen anzugeben, um nur jede N-te Zahl (bzw. Buchstaben) zu erhalten: z.B. <strong>&ldquo;[0-100:5]&rdquo;<\/strong> f&uuml;r die Zahlen 0, 5, 10, &hellip;, 100.<\/p>\n<h2 id=\"t-1655721757566\">Wichtige Optionen<\/h2>\n<p>In diesem Abschnitt werden einige der wichtigsten Optionen des Befehls <strong>curl <\/strong>vorgestellt:<\/p>\n<h3 id=\"t-1655721757567\">-C &ndash; Datei&uuml;bertragung fortsetzen<\/h3>\n<p>Die <strong>Option -C<\/strong> wird verwendet, um eine vorangegangene Datei&uuml;bertragung an einem gegebenen Offset fortzusetzen. Der Offset gibt dabei die genaue Anzahl Bytes an, die &uuml;bersprungen werden, gez&auml;hlt vom Anfang der Quelldatei (vor der &Uuml;bertragung zum Ziel).<\/p>\n<pre>curl -C [Offset] [URL(s)]<\/pre>\n<p>Wird als Offset ein <strong>Minuszeichen &ldquo;-&ldquo;<\/strong> &uuml;bergeben, so versucht <strong>curl <\/strong>automatisch anhand der gegebenen Ein- und Ausgabedateien herauszufinden, wo die &Uuml;bertragung fortgesetzt werden kann:<\/p>\n<pre>curl -C - [URL(s)]<\/pre>\n<h3 id=\"t-1655721757568\">-L &ndash; Weiterleitungen folgen<\/h3>\n<p>Wird die <strong>Option -L<\/strong> angegeben, so folgt <strong>curl <\/strong>Weiterleitungen (HTTP \/ HTTPS):<\/p>\n<pre>curl -L [URL(s)]<\/pre>\n<h3 id=\"t-1655721757569\">-o &ndash; Ausgabedatei spezifizieren<\/h3>\n<p>Der Inhalt der heruntergeladenen Datei kann unter Verwendung der <strong>Option -o<\/strong> in eine bestimmte Ausgabedatei geschrieben werden:<\/p>\n<pre>curl -o [Datei] [URL(s)]<\/pre>\n<h3 id=\"t-1655721757570\">-O &ndash; Originalname f&uuml;r Ausgabedatei verwenden<\/h3>\n<p>Mit der <strong>Option -O<\/strong> kann der Inhalt der heruntergeladenen Datei in eine mit dem Originalnamen benannte Ausgabedatei geschrieben werden:<\/p>\n<pre>curl -O [URL(s)]<\/pre>\n<h3 id=\"t-1655721757571\">-T &ndash; Datei &uuml;bertragen<\/h3>\n<p>Die <strong>Option -T<\/strong> wird zur &Uuml;bertragung einer bestimmten Datei zum angegebenen Ziel verwendet:<\/p>\n<pre>curl -T [Datei] [URL(s)]<\/pre>\n<h3 id=\"t-1655721757572\">-u &ndash; Zugangsdaten &uuml;bergeben<\/h3>\n<p>Mithilfe der <strong>Option -u<\/strong> k&ouml;nnen <strong>Zugangsdaten <\/strong>&uuml;bertragen werden. Benutzername und Passwort werden durch einen <strong>Doppelpunkt &ldquo;:&rdquo;<\/strong> getrennt angegeben:<\/p>\n<pre>curl -u&nbsp; [Benutzername]:[Passwort] [URL(s)]<\/pre>\n<h3 id=\"t-1655721757573\">-v &ndash; Ausf&uuml;hrliche Ausgabe<\/h3>\n<p>Wird die <strong>Option -v<\/strong> verwendet, so gibt <strong>curl <\/strong>ausf&uuml;hrliche Informationen zur Client-Server-Kommunikation aus:<\/p>\n<pre>curl -v [URL(s)]<\/pre>\n<h3 id=\"t-1655728464629\">-V &ndash; Informationen zu curl ausgeben<\/h3>\n<p>Verschiedene Informationen zu <strong>curl <\/strong>selbst, wie beispielsweise die Version sowie unterst&uuml;tzte Protokolle und Funktionen, k&ouml;nnen mit der <strong>Option -V<\/strong> abgerufen werden:<\/p>\n<pre>curl -V<\/pre>\n<h3 id=\"t-1655721757574\">-X &ndash; HTTP-Command ausf&uuml;hren<\/h3>\n<p>Mit der <strong>Option -X<\/strong> ist es m&ouml;glich, einen bestimmten <strong>HTTP-Command<\/strong> (z.B. <strong>GET<\/strong>, <strong>PUT<\/strong>, <strong>DELETE<\/strong>) auf der angegebenen URL auszuf&uuml;hren. Standardm&auml;&szlig;ig wird <strong>GET <\/strong>verwendet.<\/p>\n<pre>curl -X [Command] [URL(s)]<\/pre>\n<p style=\"text-align: center;\">Abonniere JETZT unseren Newsletter!<\/p>\n<p style=\"text-align: center;\">Verpasse nie wieder <strong>neue<\/strong> Beitr&auml;ge und <strong>exklusive Insider-Only-Inhalte!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In diesem Beitrag lernen Sie den Befehl curl kennen, welcher unter Linux- \/ UNIX-Betriebssystemen zur Datei\u00fcbertragung von oder zu einem Server eingesetzt wird. Es werden verschiedene Protokolle unterst\u00fctzt &#8211; dazu geh\u00f6ren etwa HTTP, HTTPS, FTP, FTPS, SCP, TELNET und LDAP. Das Werkzeug wurde f\u00fcr den Einsatz ohne Benutzerinteraktion entwickelt und wird entsprechend \u00fcber Befehlszeilenargumente gesteuert. [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"none","_seopress_titles_title":"%%post_title%% %%sep%% %%sitetitle%%","_seopress_titles_desc":"Hier lernen Sie den Befehl curl kennen, welcher unter UNIX \/ Linux verwendet wird, um Dateien mithilfe verschiedener Protokolle von oder zu einem Server zu \u00fcbertragen.","_seopress_robots_index":"","_seopress_analysis_target_kw":"UNIX,Linux,Befehl,Befehle,Option,Optionen,Betriebssystem,Betriebssysteme,Betriebssystemen,Syntax,Beispiel,Beispiele,Tutorial,Tutorials,Profi-Tutorials,Profi-Tutorials.de,curl,Datei,Dateien,HTTP,HTTPS,FTP,FTPS,libcurl,Server,url","footnotes":""},"categories":[8],"tags":[],"class_list":["post-14048","post","type-post","status-publish","format-standard","hentry","category-administration"],"_links":{"self":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/14048","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/comments?post=14048"}],"version-history":[{"count":50,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/14048\/revisions"}],"predecessor-version":[{"id":14171,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/14048\/revisions\/14171"}],"wp:attachment":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/media?parent=14048"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/categories?post=14048"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/tags?post=14048"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}