PowerShell может потерять пустой аргумент прокси curl.exe
Учитывайте передачу собственных аргументов в PowerShell, когда пустой параметр прокси curl ведёт себя иначе, чем в cmd.
curl --proxy "" рассчитывает на то, что curl получит пустой аргумент. Команда может вести себя по-разному в разных оболочках Windows, поскольку передача собственных команд в старом Windows PowerShell не сохраняет пустые строки так, как новые режимы, появившиеся в PowerShell 7.3.
Если пустое значение исчезнет, следующий аргумент может быть принят за значение прокси. Это проблема разбора командной строки ещё до любого сетевого решения.
Для прямого запроса curl непустой аргумент обхода упрощает передачу намерения:
curl.exe --noproxy '*' https://example.com/
Используйте curl.exe осознанно: Windows PowerShell может разрешить curl как псевдоним другой команды. Звёздочка в кавычках передаётся как значение обхода для всех хостов curl.
Для сценариев, которым нужны более сложные собственные аргументы, проверьте версию PowerShell и её режим передачи собственных аргументов. Копирование примера для cmd без изменений не доказывает, что curl получил тот же список аргументов.