Zwei Downloads, zwei Proxys, ein curl-Befehl
Verwenden Sie curl-Übertragungsgrenzen, um getrennte Proxys und Ausgabedateien ohne eine mehrdeutige Befehlszeile zuzuweisen.
Wenn zwei URLs hinter einer einzigen Option --proxy stehen, werden beide über denselben Proxy gesendet. Wenn jeder Download seinen eigenen Weg braucht, geben Sie curl eine Übertragungsgrenze:
curl --proxy http://203.0.113.10:8080 \
--output first.html https://example.com/ \
--next \
--proxy http://203.0.113.20:8080 \
--output second.html https://example.org/
Beide Proxyadressen sind Platzhalter; wählen Sie HTTP-Endpunkte aus Ihrem Dienst oder der HTTP-Proxyliste. Die Option --next startet eine weitere Übertragung mit einem neuen Satz lokaler Optionen. Geben Sie den zweiten Proxy ausdrücklich an. Eine Option vor der Grenze muss danach möglicherweise erneut angegeben werden.
Dies ist ein sequenzielles Beispiel. So lässt sich die Zuordnung von Ziel, Ausgabedatei und Proxy leicht prüfen. curl unterstützt auch parallele Übertragungen, aber Parallelität ändert nur die Planung; sie wählt nicht automatisch für jede URL einen Proxy.
Vorsicht bei einer Textdatei mit Paaren
Eine Zeile mit proxy-address destination-url ist das Format Ihrer Anwendung. curl leitet die Bedeutung solcher Spalten nicht aus beliebigem Text ab. Eine Shell-Schleife, eine erzeugte curl-Konfiguration oder ein anderer kleiner Verteiler muss jeden Datensatz in ausdrückliche Optionen umwandeln.
Behandeln Sie Argumente weiterhin als Argumente. Ein durch Aneinanderhängen nicht vertrauenswürdiger URLs gebauter Befehl kann durch Leerzeichen oder Shell-Zeichen seine Bedeutung ändern. Für wiederholte Aufgaben ist die dokumentierte Konfigurationsdateisyntax von curl leichter zu prüfen als eine von Hand zusammengesetzte lange Zeichenkette.
Zeichnen Sie das Ergebnis jeder Übertragung getrennt auf. Ein erfolgreicher erster Download sagt nichts über Route oder Antwort des zweiten aus. Ordnen Sie Timeouts und Fehlerbehandlung der Übertragung zu, die sie benötigt, und prüfen Sie die Grenze, wenn eine Einstellung scheinbar verschwunden ist.