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.