Wenn Sie nach einem Tool suchen, mit dem Sie Proxys und Scraping-Sites gleichzeitig testen können, sind Sie hier genau richtig. cURL ist ein Befehlszeilentool, mit dem Sie Proxys testen und einige grundlegende Web-Scraping-Vorgänge durchführen können. cURL ist intuitiv und leicht zu erlernen und kann unter anderem auch Anfragen senden, Cookies hinzufügen, Fehler beheben und eine Verbindung zu Proxys herstellen.

In dieser Schritt-für-Schritt-Anleitung erfahren Sie, was cURL ist, wie Sie die verschiedenen Befehle verwenden, wie Sie es für leichtes Web-Scraping verwenden und wie Sie cURL mit Proxyservern verwenden. Die Anleitung kann etwas kompliziert werden. Stellen Sie daher sicher, dass Sie ein grundlegendes Verständnis davon haben, was ein Proxy ist, bevor Sie mit dem Lesen beginnen. Es ist ebenfalls von Vorteil, einige Grundlagen des Web Scraping zu kennen.

Inhaltsverzeichnis

Was ist cURL?

cURL, kurz für „Client URL“, ist ein Befehlszeilentool, das die Datenübertragung über das Internet erleichtert. Es enthält die Befehlszeile „curl.exe“ und eine plattformübergreifende Bibliothek namens „ libcurl, was den Datenaustausch zwischen Servern ermöglicht.

cURL ist mit verschiedenen modernen Betriebssystemen kompatibel, die Internetprotokolle nutzen, und funktioniert auf Geräten von Laptops bis hin zu Autos. Es unterstützt zahlreiche Internetprotokolle, wie zum Beispiel:

  • DIKT
  • DATEI
  • FTP
  • FTPS
  • GOPHER
  • HTTP
  • HTTPS
  • IMAP
  • BILDER
  • LDAP
  • LDAPS
  • MQTT
  • POP3
  • POP3S
  • RTSP
  • SCP
  • SFTP
  • KMU
  • SMBS
  • SMTP
  • SMTPS
  • TELNET
  • TFTP

Eine große Community hat verschiedene Tools für cURL entwickelt, darunter Curl-Loader, ein Open-Source-Tool zum Testen der Leistung von Linux-Software. Curl-Loader kann das Anwendungsverhalten zahlreicher FTP/FTPS- und HTTP/HTTPS-Clients emulieren. Ein einzelner Curl-Loader-Prozess kann 2.500 bis 100.000 virtuelle Clients unterstützen, wobei jeder Client eine eindeutige Quell-IP-Adresse hat.

Die Ursprünge von cURL

Die Geschichte von cURL reicht bis in die 1990er Jahre zurück, als Befehlszeilentools vorherrschend waren. 1996 schwedischer Entwickler Daniel Stenberg begann mit der Arbeit an einem IRC-Raumskript (Internet Relay Chat), um Währungen für Chat-Teilnehmer umzurechnen. Dies veranlasste ihn, zu einem Tool namens httpget beizutragen, einer beliebten HTTP-Methode zur Übertragung von Daten über Server. Stenbergs Experimente führten zu httpget 0.1, das aus „weniger als 300 Zeilen einer einzelnen C-Datei“ bestand.

Monate später tauchten Dateiübertragungsprotokolle (FTP) auf, was Stenberg dazu veranlasste, FTP-Unterstützung in sein Tool zu integrieren und es in urlget 2.0 umzubenennen. Am 30. März 1998 fügte er die FTP-Upload-Unterstützung hinzu und benannte das Tool erneut in cURL 3.0 um.

Obwohl cURL großes Potenzial hatte, erregte es zunächst wenig Aufmerksamkeit. Im Jahr 1998 verzeichnete cURL nach 15 Updates und Neuveröffentlichungen über 300 Downloads von Stenbergs Website. Später in diesem Jahr führte Red Hat Linux cURL ein, gefolgt von Debian im Jahr 1999 und Mac OS Sony PS5, Nintendo Switch, Xbox und sogar Autos.

Warum cURL verwenden?

cURL ist bei Entwicklern aufgrund seiner Fähigkeit, komplexe Vorgänge effektiv abzuwickeln, eine beliebte Wahl. Seine Vielseitigkeit, Skriptfähigkeit und die enthaltene Bibliothek ermöglichen eine nahtlose Integration mit anderen Programmen, ohne dass benutzerdefinierter HTTP-Parsing- und Netzwerkcode geschrieben werden muss.

cURL bietet zahlreiche Vorteile, wie zum Beispiel:

  1. Endpunkttest- und Debugging-Funktionen
  2. Detaillierte Einblicke in gesendete und empfangene Daten
  3. Umfangreiche Fehlerprotokollierung
  4. Unterstützung für eine Vielzahl von Protokollen
  5. Kompatibilität mit http2, Metalink, gzip, automatischer Dekomprimierung und Content-Encoding
  6. Erweiterte Funktionen wie FTP-Upload, Cookies, Benutzerauthentifizierung, Proxy-Unterstützung, SSL-Verbindungen und mehr
  7. Automatischer Protokollwechsel, wenn das Standardprotokoll ausfällt
  8. Protokollabhängige URL-Syntax
  9. Ratenbegrenzende Funktionalität
  10. Möglichkeit, URL-Teile oder mehrere URLs mithilfe von Klammern anzugeben (z. B. https://google.{one, two, three}.com)
  11. Option zur Angabe einer beliebigen Anzahl von URLs über die Befehlszeile

Darüber hinaus schätzen Entwickler die standardmäßige SSL-Zertifikatsüberprüfung und HTTPS-Unterstützung von cURL. Wenn cURL über HTTPS eine Verbindung zu einem Server herstellt, ruft es das Zertifikat des Servers ab und vergleicht es mit dem CA-Zertifikat, um die Authentizität des Remote-Servers sicherzustellen.

So installieren Sie cURL

Sehen wir uns an, wie Sie cURL auf Ihrem Computer installieren.

Mac OS

Unter macOS muss cURL nicht installiert werden, da es bereits im Betriebssystem integriert ist. Sie können es nativ in der Terminal-Anwendung verwenden.

Windows

Ab Windows 10 enthält das Betriebssystem eine Kopie von cURL. Der cURL-Befehl dient jedoch als Alias für PowerShell Invoke-WebRequest Befehl. Infolgedessen wird durch die Ausführung von cURL-Befehlen im Windows-Terminal Invoke-Request hinter den Kulissen initiiert. Um stattdessen cURL zu verwenden, ersetzen Sie „curl“ durch „curl.exe“, und PowerShell führt cURL anstelle von Invoke-Request aus.

Um beispielsweise die aktuelle Version von cURL zu überprüfen, die auf Ihrem Windows-Computer installiert ist, geben Sie den folgenden Befehl in das Terminal ein:

curl.exe --version

Die Ausgabe sollte etwa so aussehen:

curl 7.83.1 (Windows) libcurl/7.83.1 Schannel 

Release-Date: 2022-05-13 

Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp 

Features: AsynchDNS HSTS IPv6 Kerberos Largefile NTLM SPNEGO SSL SSPI UnixSockets

Wenn Sie mehr über cURL und Windows erfahren möchten, empfehlen wir Ihnen, sich dieses Video anzusehen. Sie erfahren, was cURL ist, wie man es unter Windows ausführt und wie man API-Anfragen GET, POST, PUT, DELETE mit cURL ausführt.

Linux

Für Linux-Benutzer variiert der Installationsprozess für cURL je nach Ihrer spezifischen Distribution. Bei beliebten Distributionen wie Ubuntu und Fedora ist cURL vorinstalliert, sodass Sie es direkt im Terminal verwenden können.

Bei Distributionen, die cURL nicht standardmäßig enthalten, können Sie es mit dem Paketmanager Ihrer Distribution installieren. Verwenden Sie beispielsweise auf Debian-basierten Betriebssystemen den folgenden Befehl, um cURL zu installieren:

sudo apt-get install curl

So verwenden Sie cURL

Stellen Sie sicher, dass cURL auf Ihrem Gerät installiert ist. Stellen Sie vor der Verwendung von cURL sicher, dass es auf Ihrem System installiert ist. Wenn nicht, laden Sie es von der cURL-Website herunter.

A. Überprüfen Sie die cURL-Installation auf Ihrem Gerät

Um zu überprüfen, ob cURL auf Ihrem System installiert ist, führen Sie die folgenden Schritte aus:

  1. Öffnen Sie auf einem Windows-PC oder MacBook die Befehlszeilenschnittstelle oder das PowerShell-Terminal.
  2. Typ 'curl --version'
  3. Drücken Sie Enter.

Wenn cURL auf Ihrem Gerät installiert ist, erhalten Sie eine Meldung ähnlich dieser:

curl --version 

curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL 

Release-Date: 2017-11-14, security patched: 2020-11-05 

Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp 

Features: AsynchDNS IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL

ODER

curl --version 

curl 7.31.0 (x86_64-apple-darwin12.4.0) libcurl/7.31.0 OpenSSL/0.9.8x zlib/1.2.5 

Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp 

Features: IPv6 Largefile NTLM NTLM_WB SSL libz

Wenn eine andere Meldung angezeigt wird, bedeutet dies, dass cURL nicht auf Ihrem Gerät installiert ist und Sie es installieren müssen.

B. Bestimmen Sie die geeignete cURL-Syntax

Standardmäßig verwendet cURL das HTTP-Protokoll mit der folgenden Syntax: cURL [Optionen] [URL]

Da cURL mehrere Protokolle unterstützt, kann die Syntax für jedes Protokoll leicht variieren. Hier sind einige Beispiele für cURL-Befehle für verschiedene Netzwerkprotokolle:

  • Dateiübertragungsprotokoll (FTP): cURL -T „ausgewählte Datei“ „ftp://[Zielziel]“
  • Simple Mail Transfer Protocol (SMTP): cURL smtp://[SMTP-Server] –mail-from [Absender] –mail-rcpt [Empfänger] –upload-file [Mail-Inhaltsdatei]
  • Das Dictionary Network Protocol [DICT]: cURL „dict://dict.org/d:hi“

Um Ihr cURL-Erlebnis zu optimieren, ist es wichtig zu wissen, mit welchen Netzwerkprotokollen Sie arbeiten.

C. Verwenden Sie die für Ihre Ziele geeignete cURL-Syntax

Mit cURL können Sie verschiedene Aufgaben ausführen, beispielsweise das Herunterladen und Hochladen von Dateien oder die Benutzerauthentifizierung. Jede Aufgabe erfordert eine andere cURL-Syntax, hauptsächlich aufgrund der spezifischen Parameter und Netzwerkprotokolle.

Hier sind einige häufige Aufgaben und die entsprechenden cURL-Befehle:

  1. So laden Sie eine Datei herunter: curl -o [Dateiname] [URL]
  2. So laden Sie eine Datei über das FTP-Protokoll hoch: curl -u [Benutzername:Passwort] -T [lokaler Dateipfad] ftp://[URL]
  3. So fordern Sie HTTP-Header an: curl -I [URL]

So verwenden Sie cURL für Light Scraping

cURL kann für leichtes Web-Scraping in Kombination mit einer Programmiersprache wie PHP eingesetzt werden.

Bevor Sie mit dem Scraping beginnen, überprüfen Sie unbedingt die robots.txt-Datei der Zielwebsite. Halten Sie sich an die Regeln, auch wenn sie unlogisch erscheinen, denn Websitebesitzer haben das Recht, Parameter und Einschränkungen festzulegen. Die Einhaltung der robots.txt-Datei beim Web-Crawling gilt als gängige Praxis und die Nichteinhaltung kann zu rechtlichen Komplikationen führen.

Vor diesem Hintergrund finden Sie hier eine Anleitung zur Verwendung von cURL für leichtes Web-Scraping.

Gehen Sie folgendermaßen vor, um mit dem Schaben zu beginnen:

  1. Wählen Sie eine Programmiersprache für das Scraping, beispielsweise PHP. In diesem Tutorial wird PHP verwendet.
  2. Erstellen Sie eine neue PHP-Datei.
  3. Initialisieren Sie das cURL-Handle mit curl_init. $curl = curl_init
  4. Setzen Sie CURLOPT_RETURNTRANSFER auf TRUE, wodurch die Übertragungsseite als Zeichenfolge zurückgegeben wird. Dieser Befehl weist cURL an, die gescrapte Seite als Variable zu speichern, anstatt standardmäßig die gesamte Seite anzuzeigen: curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
  5. Initiieren Sie die Anfrage und führen Sie eine Fehlerprüfung durch: $page = curl_exec($curl); if(curl_errno($curl)) // check for execution errors { echo 'Scraper error: ' . curl_error($curl); exit; }
  6. Schließen Sie die Verbindung: curl_close($curl);

Um nur einen bestimmten Teil der Informationen zu extrahieren, müssen Sie unter id=“case_textlist“ angeben, was Sie extrahieren möchten. Standardmäßig extrahiert cURL die gesamte Seite:

$regex = '<div id="case_textlist">(.*?)</div>/s';

if (preg_match($regex, $page, $list)) echo $list[0]; else echo "Not found";

Um eine Website mithilfe eines Proxyservers in PHP zu analysieren, können Sie die cURL-Bibliothek verwenden. Hier ist ein Beispiel für ein PHP-Skript, das eine Webseite über einen Proxyserver abruft:

PHP-Code:

<?php
// Set the URL to fetch
$url = "http://www.example.com";

// Set the proxy server and port
$proxy = "proxy.example.com:8080";

// Create a new cURL resource
$ch = curl_init();

// Set the cURL options
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Fetch the URL and output the response
$response = curl_exec($ch);
echo $response;

// Close the cURL resource
curl_close($ch);
?>

Im obigen Skript können Sie die Variable $url in die URL der Website ändern, die Sie analysieren möchten, und die Variable $proxy in die Adresse und den Port des Proxyservers ändern, den Sie verwenden möchten. Die Funktion „curl_setopt()“ wird verwendet, um die cURL-Optionen, einschließlich der URL und des Proxyservers, festzulegen und die Antwort als Zeichenfolge zurückzugeben, anstatt sie direkt auszugeben. Abschließend wird mit der Funktion „curl_exec()“ die URL abgerufen und die Antwort mit Echo ausgegeben. Die Funktion „curl_close()“ wird aufgerufen, um die cURL-Ressource zu schließen.

Im folgenden Video erfahren Sie, wie Sie einen Proxy-Scraper erstellen, indem Sie die URLs der Website mit cURL laden und sie mit regulären Ausdrücken abgleichen.

So verwenden Sie cURL für erweitertes Scraping

Hier sind einige verfeinerte cUrl-Konfigurationen, die Ihnen bei der Optimierung Ihrer Web-Scraping-Sitzungen helfen können.

Untertitel: Einbinden eines Benutzeragenten

Wenn cURL zum Herunterladen oder Scrapen von Links verwendet wird, identifiziert es sich gegenüber der Website als cUrl. In einigen Fällen möchten Sie dies möglicherweise nicht, da bestimmte Websites cUrl möglicherweise als Bot erkennen und ihn blockieren.

Um dies zu umgehen, schließen Sie einen Benutzeragenten ein, indem Sie die Option -A oder –user-agent verwenden. In diesem Beispiel haben wir einen Benutzeragenten für Firefox 65 unter Windows 10 verwendet:

curl -x https://fineproxy.de/ -v -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0"

Alternativ können Sie den Benutzeragenten mit der Option -H im Header senden:

curl -x https://fineproxy.de/ -v -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0"

Untertitel: Header konfigurieren

Beim Scraping einer Website ist es wichtig, nicht als Bot wahrgenommen zu werden. Viele Websites blockieren mittlerweile die Extraktion ihrer Daten durch Bots, da diese den Server überlasten und den Service für menschliche Benutzer beeinträchtigen können.

Um dies zu erreichen, müssen Sie mit cURL entsprechende Header senden.

Bestimmen Sie zunächst die Header, die Sie normalerweise an die Zielwebsite senden, indem Sie mit der rechten Maustaste klicken und „Inspizieren“ auswählen. Navigieren Sie anschließend zur Registerkarte „Netzwerk“. Aktualisieren Sie die Ziel-Site und Sie sehen die während des Ladens der Site gestellten Anforderungen. Um die Anfrage genauer zu untersuchen, können Sie auch mit der rechten Maustaste darauf klicken und sie als cUrl-Befehlszeile kopieren.

Anschließend konfigurieren Sie Header in cUrl mit der Option -H oder –header. So würden Sie beispielsweise einen „Accept“-Header an die Zielseite senden:

curl -x https://fineproxy.de/ -v -H "Accept: text/html"

So verwenden Sie cURL mit Proxyservern

Die Verwendung von cURL mit einem Proxy ermöglicht verschiedene Anwendungsfälle, wie z. B. Web Scraping, bei dem ein Proxy erforderlich ist, um Site-Verbote und -Blockierungen zu verhindern. In dieser Anleitung erfahren Sie, wie Sie mit cURL Daten über einen Proxyserver senden.

Befolgen Sie diese Schritte, um cURL mit einem Proxy zu verwenden:

1. Richten Sie den Proxyserver ein

Richten Sie zunächst Ihren Proxy gemäß den Anweisungen Ihres Proxy-Anbieters ein. Um zu überprüfen, ob Ihr Proxy korrekt eingerichtet ist, geben Sie den folgenden Befehl in Ihr Terminal ein:

curl https://httpbin.org/ip 

Dieser Befehl gibt die IP-Adresse Ihres Geräts zurück. Wenn die Werte mit der ursprünglichen IP-Adresse Ihres Geräts übereinstimmen, ist Ihr Proxyserver nicht richtig eingerichtet. Wenn sie nicht übereinstimmen, ist Ihr Proxyserver korrekt konfiguriert.

2. Konfigurieren Sie Ihren Proxy für die Arbeit mit cURL-Befehlen

Es gibt drei Möglichkeiten, Ihren Proxy für die Verwendung mit cURL zu konfigurieren:

A. Verwendung einer Konfigurationsdatei (.curlrc)

Eine Konfigurationsdatei ist eine Textdatei mit Ihren gewünschten Einstellungen, die im Dateiformat .curlrc in Ihrem Systemverzeichnis gespeichert wird, damit Sie beim Ausführen von cURL-Befehlen leicht darauf zugreifen können.

Eine Proxy-Konfigurationsdatei enthält Daten in diesem Format:

proxy = "[protocol://][host][:port]"

Sie können mehrere Konfigurationseinstellungen in der Datei speichern und bei Bedarf aktivieren. Bevor Sie cURL-Befehle ausführen, öffnen Sie die Datei. Jeder von Ihnen ausgeführte cURL-Befehl verwendet dann die Proxy-Einstellungen aus der Konfigurationsdatei.

Das Erstellen einer Konfigurationsdatei ist die beste Methode für diejenigen, die cURL wiederholt mit einem Proxy verwenden und große Datenmengen extrahieren. Dies spart Zeit, da der Proxy nicht jedes Mal für cURL konfiguriert werden muss.

B. Verwendung von Befehlszeilenargumenten

Diese Methode eignet sich für den einmaligen Proxy-Einsatz mit cURL-Befehlen, da sie nur die direkte cURL-Proxy-Syntax erfordert. Die Syntax lautet wie folgt:

curl -x "[protocol://][host][:port]" [URL] [options]

Da das Standardprotokoll von cURL HTTP ist, müssen Sie die Protokoll- und Proxyserverdetails angeben, insbesondere wenn Sie ein anderes Netzwerkprotokoll verwenden.

C. Verwendung von Umgebungsvariablen

Die dritte Methode besteht darin, die Variablen http_proxy und https_proxy, sogenannte Umgebungsvariablen, festzulegen, die sich auf Prozesse auswirken, die auf Systemebene ausgeführt werden. Diese Befehle sind Teil des Betriebssystems und können andere Parameter überschreiben.

Die Syntax für cURL-Proxy-Einstellungen über Umgebungsvariablen lautet wie folgt:

export http_proxy="[protocol://][host][:port]" 

export https_proxy="[protocol://][host][:port]"

Nachdem Sie diese Befehle ausgeführt haben, wird jeder cURL-Befehl, den Sie ausführen, automatisch über den Proxyserver geleitet. Lassen Sie uns nun etwas mehr über diese Methode sprechen.

Verwenden von cURL mit einem Proxy über Umgebungsvariablen

Eine Umgebungsvariable ähnelt einem Objekt, das einen bearbeitbaren Wert im Speicher speichert, der von einem oder mehreren Softwareprogrammen verwendet werden kann. In diesem Fall können wir eine Variable namens http_proxy oder https_proxy an cURL übergeben, die unsere Proxy-Informationen enthält, und müssen sie nicht jedes Mal angeben, wenn wir den Befehl ausführen. Sie können dies erreichen, indem Sie diesen Befehl ausführen:

$ export http_proxy="http://fineproxy.proxy_type=datacenter.device=desktop:<YOUR-API-KEY>@proxy.fineproxy.de:80"

Bitte beachten Sie, dass Sie Ihre Variable http_proxy oder https_proxy benennen müssen, damit cURL sie versteht. Das ist es. Sie müssen Ihre Anmeldeinformationen nicht mehr jedes Mal angeben, wenn Sie den Befehl ausführen, und Sie können cURL jetzt so einfach ausführen:

$ curl http://httpbin.org/get

Dadurch erhalten wir folgende Ausgabe:

{ "args": {}, "headers": { "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8", "Accept-Encoding": "gzip, deflate, br", "Host": "httpbin.org", "Upgrade-Insecure-Requests": "1", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36", "X-Amzn-Trace-Id": "Root=1-633bf912-66ace1104304ddaf5ea8ac65" }, "origin": "132.255.134.104", "url": "http://httpbin.org/get" }

Wie Sie sehen, handelt es sich bei der IP-Adresse um die des Proxys. Dies bestätigt, dass Sie bei der Einrichtung Ihres Proxys hervorragende Arbeit geleistet haben. An diesem Punkt können wir jeden cURL-Befehl ausführen, ohne die Proxy-Informationen anzugeben, da cURL dies für uns erledigt.

7 wichtige Tricks und Tipps

In diesem Abschnitt stellen wir einige interessante Tricks und wertvolle Tipps für den Einsatz von Proxys mit cUrl vor, die auf Ihre spezifischen Bedürfnisse zugeschnitten sind.

Tipp 1: Proxys ausschließlich für cUrl festlegen

Um Proxys ausschließlich für cUrl-basierte Aufgaben festzulegen, verwenden Sie die folgende Befehlsfolge:

  1. cd ~ $ nano .curlrc
  2. Fügen Sie diese Zeile zur Datei hinzu:
proxy=http://user:pwd@IP_address_or_FQDN:port

Beispiel:

proxy=http://testuser:[email protected]:3128
  1. Führen Sie cUrl wie gewohnt aus:
$ curl "https://www.reddit.com"

Tipp 2: Proxys aktivieren und deaktivieren

Erstellen Sie in Ihrem Editor einen Alias in Ihrer .bashrc-Datei, um dies zu erreichen:

$ cd ~
alias proxyon="export http_proxy='http://user:pwd@Proxy_IP_or_FQDN:Port';export https_proxy='http://user:pwd@Proxy_IP_or_FQDN:Port'"
alias proxyoff="unset http_proxy;unset https_proxy"

Beispiel:

alias proxyon="export http_proxy='http://testuser:[email protected]:3128';export https_proxy='http://testuser:[email protected]:3128'"

Überprüfen Sie schnell die Alias-Einrichtung, indem Sie den Alias-Befehl im Terminal ausführen. Speichern Sie die .bashrc-Datei und aktualisieren Sie die Shell mit:

$ ~/.bashrc

Tipp 3: SSL-Zertifikatfehler umgehen

Wenn cUrl auf SSL-Zertifikatfehler stößt, blockiert es diese Anfragen. Um SSL-Zertifikatfehler zum Debuggen zu „überspringen“, insbesondere in einmaligen Situationen, fügen Sie -k oder –insecure zur cUrl-Befehlszeile hinzu:

curl -x "[protocol://][host][:port]" -k [URL]

Tipp 4: Weitere Informationen zur Anfrage einholen

Wenn Ihre Anfragen nicht wie erwartet funktionieren, sollten Sie den Anfragepfad, die Header und verschiedene Fehler untersuchen. Um die Anfrage zu untersuchen, fügen Sie nach cUrl -v (–verbose) zur Anfrage hinzu, wodurch alle aufgetretenen Anfrageheader und Verbindungen ausgegeben werden.

Tipp 5: Proxys für eine einzelne Anfrage ignorieren

Um einen Proxy für eine bestimmte Anfrage zu überschreiben, verwenden Sie die folgende Befehlszeile:

curl --proxy "http://user:pwd@Proxy_FQDN_or_IPAddress" "https://reddit.com"

Oder verwenden Sie:

$ curl --noproxy "*" https://www.reddit.com

Um Proxys vollständig zu umgehen. Mit der Option -v wird angezeigt, dass die Verbindung direkt zu Reddit führt, ohne dass ein Proxy verwendet wird.

Tipp 6: SOCK-Proxys nutzen

Wenn Sie einen beliebigen SOCK-Proxy-Typ (4/4a/5/5h) verwenden möchten, bleibt die Codestruktur dieselbe wie zuvor, außer dass Sie den entsprechenden Abschnitt durch den entsprechenden SOCKS-Typ ersetzen:

curl -x "socks5://user:pwd@Proxy_IP_or_FQDN:Port" https://www.reddit.com

Beispiel:

$ curl -x "socks5://testuser:[email protected]:3128" https://www.reddit.com

Profi-Tipp 7: Wenn kein Protokoll angegeben ist, ist cURL standardmäßig SOCKS4!

Curl gegen Wget

Wget ist ein Befehlszeilentool mit zahlreichen Funktionen, die Dateiübertragungen mithilfe von Standardnetzwerkprotokollen wie HTTP, HTTPS und FTP ermöglichen. Sein Name ist eine Kombination aus dem Anfangsbuchstaben von WWW und „get“, was darauf hinweist, dass Wget in erster Linie für den Web-Datenaustausch entwickelt wurde.

Die Standardsyntax für Wget-Befehle lautet:

Wget [option] [URL]

Wget-Befehle sind mit cURL-Befehlen vergleichbar und führen ähnliche Funktionen aus, jedoch auf unterschiedliche Weise.

5 Ähnlichkeiten zwischen cURL und Wget

  • Bei beiden handelt es sich um Befehlszeilen-Dienstprogramme, die Dateien von FTP und HTTP oder HTTPS herunterladen können und HTTP-POST-Anfragen unterstützen.
  • Bei beiden handelt es sich um Open-Source-Software.
  • Sowohl cURL als auch Wget wurden im selben Jahr, 1996, eingeführt.
  • Beide haben ähnliche Lizenzen, die GPLv3-Lizenz.
  • Bei beiden handelt es sich um leichte Softwarepakete, die auf mehreren Betriebssystemen funktionieren.

10 Unterschiede zwischen cURL und Wget

Der Hauptunterschied zwischen cURL und Wget liegt in der Art und Weise, wie diese Dienstprogramme Anforderungen ausführen, und in den Ressourcen, die sie zum Erreichen ihrer Ziele verwenden. Die folgende Tabelle verdeutlicht diese Unterschiede:

cURL Wget
1. Bibliothek Unterstützt von der libcURL-Bibliothek Keine Bibliothek erforderlich
2. Operationen Überträgt Daten in einem einzigen Vorgang, kein rekursiver Download Unterstützt rekursives Herunterladen
3. Protokolle Unterstützt eine Reihe von Netzwerkprotokollen Unterstützt nur HTTP(S) und FTP
4. Herunterladen Erfordert -o oder -O, um eine entfernte URL in eine lokale Datei herunterzuladen Benötigt weder -o noch -O, um eine entfernte URL herunterzuladen
5. Uploads Kann Daten in beide Richtungen hochladen und übertragen Unterstützt nur einfache HTTP-POST-Anfragen
6. Proxy Unterstützt die Proxy-Typen HTTPS, SOCKS 4 und SOCKS 5 Unterstützt HTTP-Proxy, jedoch keine SOCKS-Proxytypen
7. Auth Unterstützt zusätzliche Authentifizierungstechniken für HTTP-Proxys Unterstützt nur grundlegende Authentifizierungsprozesse für HTTP-Proxys
8. Portabilität Tragbarer und auf Windows und macOS vorinstalliert Weniger portabel und unter Windows und macOS nicht vorinstalliert
9. Funktionen Erfordert, dass jede Funktion direkt angegeben wird Funktionen wie Cookies und Zeitstempel sind standardmäßig aktiviert
10. Anforderungen Erfordert kein Gnulib-Paket oder C99-Compiler Erfordert Gnulib und C99-Compiler. Verwendung von cURL oder Wget

In den meisten Situationen ist cURL die beste Wahl, aber es gibt Fälle, in denen Wget besser geeignet ist. Sie müssen entscheiden, welches dieser Befehlszeilen-Dienstprogramme Ihnen dabei hilft, Ihre Aufgaben schneller und effektiver zu erledigen. Zum Beispiel:

  • Wget bewältigt Download-Wiederholungsversuche über instabile Verbindungen besser als cURL.
  • Wget bietet Download-Funktionen wie entscheidende rekursive Downloads und Bandbreitenkontrolle, die cURL fehlt.

Daher ist es in solchen Situationen am besten, Wget-Befehle zu verwenden. Auch wenn ein anderes Netzwerkprotokoll als HTTP/HTTPS und FTP verwendet wird, ist cURL die bessere Option. Ihre Wahl, ob Sie cURL oder Wget verwenden, hängt immer von den Besonderheiten der von Ihnen ausgeführten Aufgaben ab.

Abschluss

cURL-Befehle sind leistungsstarke und vielseitige Tools für alle, die große Datenmengen über ein Netzwerk übertragen müssen. Die Verwendung von cURLs mit Proxys ist ein wünschenswertes Upgrade, mit dem Sie praktisch jede Aufgabe erledigen können. Diese Kombination gewährleistet Datenschutz und Sicherheit, ohne die Vielseitigkeit von cURL-Befehlen zu verlieren. Obwohl Wget umfangreich ist, ist cURL aufgrund seiner benutzerfreundlichen Oberfläche und leistungsstarken Funktionen vorzuziehen.

Basierend auf dem, was wir bisher besprochen haben, denken Sie vielleicht darüber nach, die coolen Effekte von cURL auszuprobieren. Wenn Sie noch nicht darüber nachgedacht haben, sollten Sie es tun. Bleiben Sie lockig (Wortspiel beabsichtigt).

Alexander Schmidt

Alexander Schmidt ist ein Softwareentwickler, der daran glaubt, intelligenter und nicht härter zu arbeiten. Mit 12 Jahren Erfahrung im Bereich Automatisierung und Webdatenextraktion für Analysen und Forschung unterstützt er Unternehmen mit praktischen Tipps und wertvollen Erkenntnissen, die er auf unterhaltsame und leicht verständliche Weise vermittelt, um anderen zu helfen, den Wert und die Leistung ihrer Proxy-Lösungen zu maximieren. Wenn er nicht gerade sein Setup optimiert oder KMUs berät, kann man Alexander dabei finden, sich über die neuesten technischen Neuigkeiten und KI-Fortschritte zu informieren.

Proxy auswählen und kaufen

Wählen Sie Typ, Standort und Menge aus, um die Preise sofort anzuzeigen.

Proxy auswählen und kaufen