После поиска как на SO, так и в других местах, я заметил, что есть много противоречивой информации о параметрах cURL CONNECTTIMEOUT vs TIMEOUT.
CONNECTTIMEOUT - это определенное время ожидания только для фазы соединения,
Время ожидания указывается как время ожидания для всего процесса cURL (включая CONNECTTIMEOUT) или время ожидания после завершения фазы подключения, в зависимости от того, кого вы спрашиваете.
Кроме того, официальные документы по libcurl объясняют CONNECTTIMEOUT как
установить максимальное время, в течение которого разрешено принимать запрос
это довольно неоднозначный язык, так как он может ссылаться, например, на HTTP-запрос или говорить обо всем процессе как запрос