“Finished” tells you a multi-cURL transfer has stopped. It does not tell you that the proxy login worked, that the destination returned the expected status, or that the body is usable.

Read each completed transfer from curl_multi_info_read(). Its result belongs to that handle. Keep it alongside the handle's selected proxy and destination.

EvidenceWhat it answers
Per-transfer cURL resultDid the transfer complete at the transport/protocol level?
HTTP statusWhat response status did this exchange receive?
Expected response contentDid the application receive the resource it needed?

These checks are related, but none replaces the others. A proxy can return an authentication challenge with a perfectly readable error body. A website can return a rejection after the tunnel has opened successfully.

A separate health check before the real transfer supplies older evidence about a different request. It cannot certify the next operation. Use the actual transfer's result for its outcome, and retain the earlier check only as additional context.

متعلقہ مضامین