Usar cURL a través de un proxy

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.