Mettere due URL dopo una sola opzione --proxy li invia entrambi attraverso lo stesso proxy. Quando ogni download richiede il proprio percorso, dai a curl un limite di trasferimento:

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/

I due indirizzi proxy sono segnaposto; scegli endpoint HTTP dal tuo servizio o dall’elenco di proxy HTTP. L’opzione --next avvia un altro trasferimento con un nuovo insieme di opzioni locali. Indica esplicitamente il secondo proxy. Un’opzione fornita prima del limite potrebbe dover essere fornita di nuovo dopo.

Questo è un esempio sequenziale. Rende semplice controllare l’associazione tra destinazione, file di output e proxy. curl supporta anche trasferimenti paralleli, ma il parallelismo cambia la pianificazione; non sceglie automaticamente un proxy per ogni URL.

Attenzione ai file di testo con coppie

Una riga contenente proxy-address destination-url è il formato della tua applicazione. curl non deduce il significato di queste colonne da testo arbitrario. Un ciclo shell, una configurazione curl generata o un altro piccolo dispatcher deve trasformare ogni record in opzioni esplicite.

Mantieni gli argomenti come argomenti. Costruire un comando concatenando URL non attendibili può permettere a spazi o caratteri della shell di cambiarne il significato. Per lavori ripetuti, la sintassi documentata del file di configurazione curl è più facile da esaminare di una lunga stringa assemblata a mano.

Registra separatamente il risultato di ogni trasferimento. Un primo download riuscito non dice nulla sul percorso o sulla risposta del secondo. Mantieni timeout e gestione degli errori associati al trasferimento che ne ha bisogno e controlla il limite quando un’impostazione sembra scomparsa.

Articoli correlati