Para quien no lo sepa, cURL permite hacer uso de un Proxy para recoger los datos de una URL, para ello tenemos que tener en cuenta los siguientes parámetros:
-p/--proxytunnel Operate through a HTTP proxy tunnel (using CONNECT)
--proxy-anyauth Pick "any" proxy authentication method (H)
--proxy-basic Use Basic authentication on the proxy (H)
--proxy-digest Use Digest authentication on the proxy (H)
--proxy-ntlm Use NTLM authentication on the proxy (H)
--socks4 Use SOCKS4 proxy on given host + port
--socks5 Use SOCKS5 proxy on given host + port
-U/--proxy-user Set proxy user and password
-x/--proxy Use HTTP proxy on given port
Suponiendo que tenemos un proxy en la IP 192.168.0.111 y el puerto 3129 que podemos utilizar con usuario y password, si quisieramos hacer un cURL contra http://google.com a través del proxy sería así:
$ curl -x 192.168.0.111:3129 -U usuario:mipassword http://google.com
El resto de opciones ya depende de las necesidades de cada uno, como por ejemplo el tipo de autenticación, tunel Proxy http, etc.