Dues baixades, dos intermediaris i una ordre curl
Fes servir els límits de transferència de curl per assignar intermediaris i fitxers de sortida separats sense ambigüitat.
Posar dues URL després d’una sola opció --proxy fa que totes dues passin pel mateix intermediari. Quan cada baixada necessita la seva ruta, dona a curl un límit de transferència:
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/
Les dues adreces de l’intermediari són marcadors; tria punts finals HTTP del teu servei o de la llista de proxies HTTP. L’opció --next inicia una altra transferència amb un conjunt nou d’opcions locals. Indica explícitament el segon intermediari. Una opció donada abans del límit potser s’haurà de donar de nou després.
És un exemple seqüencial. Fa fàcil inspeccionar la correspondència entre destinació, fitxer de sortida i intermediari. curl també admet transferències paral·leles, però el paral·lelisme canvia la planificació; no tria automàticament un intermediari per a cada URL.
Compte amb un fitxer de text de parelles
Una línia que conté proxy-address destination-url és el format de la teva aplicació. curl no dedueix el significat d’aquestes columnes a partir de text arbitrari. Un bucle de shell, una configuració curl generada o un altre petit distribuïdor ha de convertir cada registre en opcions explícites.
Conserva els arguments com a arguments. Construir una ordre concatenant URL no fiables pot permetre que espais o caràcters del shell en canviïn el significat. Per a tasques repetides, la sintaxi documentada dels fitxers de configuració de curl és més fàcil de revisar que una cadena llarga muntada a mà.
Registra per separat el resultat de cada transferència. Una primera baixada correcta no diu res de la ruta o resposta de la segona. Mantén els temps d’espera i la gestió d’errors associats a la transferència que els necessita i inspecciona el límit quan una opció sembli haver desaparegut.