Два завантаження, два проксі, одна команда curl
Використовуйте межі передавання curl, щоб призначити окремі проксі та файли виводу без неоднозначного командного рядка.
Розміщення двох URL після одного параметра --proxy надсилає обидва через той самий проксі. Якщо кожному завантаженню потрібен власний маршрут, задайте curl межу передавання:
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/
Обидві адреси проксі — заповнювачі; виберіть HTTP-кінцеві точки зі свого сервісу або зі списку HTTP-проксі. Параметр --next запускає інше передавання з новим набором локальних параметрів. Явно вкажіть другий проксі. Параметр, заданий до межі, можливо, доведеться повторити після неї.
Це послідовний приклад. Він спрощує перевірку відповідності призначення, файлу виводу та проксі. curl також підтримує паралельні передавання, але паралельність змінює планування й не вибирає проксі для кожного URL автоматично.
Обережно з текстовим файлом пар
Рядок із proxy-address destination-url — це формат вашого застосунку. curl не виводить значення цих стовпців із довільного тексту. Shell-цикл, згенерована конфігурація curl або інший невеликий диспетчер мають перетворити кожен запис на явні параметри.
Зберігайте аргументи як аргументи. Побудова команди конкатенацією ненадійних URL може дозволити пробілам або символам shell змінити її зміст. Для повторюваних завдань документований синтаксис конфігураційного файлу curl легше перевіряти, ніж довгий рядок, зібраний вручну.
Окремо записуйте результат кожного передавання. Успішне перше завантаження нічого не говорить про маршрут або відповідь другого. Прив’язуйте тайм-аути й обробку помилок до передавання, якому вони потрібні, і перевіряйте межу, коли налаштування, здається, зникло.