«Готово» сообщает, что передача multi-cURL остановилась. Оно не сообщает, что вход через прокси сработал, что назначение вернуло ожидаемый статус или что тело пригодно к использованию.

Читайте каждую завершённую передачу из curl_multi_info_read(). Её result принадлежит этому handle. Храните его рядом с выбранными для handle прокси и назначением.

ДоказательствоНа что оно отвечает
Результат cURL по передачеЗавершилась ли передача на уровне транспорта или протокола?
Статус HTTPКакой статус ответа получил этот обмен?
Ожидаемое содержимое ответаПолучило ли приложение нужный ресурс?

Эти проверки связаны, но ни одна не заменяет остальные. Прокси может вернуть запрос аутентификации с полностью читаемым телом ошибки. Сайт может вернуть отказ после успешного открытия туннеля.

Отдельная проверка состояния перед реальной передачей даёт более старые доказательства о другом запросе. Она не может подтвердить следующую операцию. Используйте результат реальной передачи для её исхода, а более раннюю проверку храните только как дополнительный контекст.

Похожие статьи