Haz crecer tus brazos, cURL con proxies

cURL vino al mundo para transferir datos. Cuando se combina con un proxy, se transforma en una potente herramienta de minería de datos.

Esta guía le presentará cURL y le explicará algunas formas diferentes de utilizarlo con proxies.

¿Qué es un proxy?

Un proxy es un ordenador que se sitúa entre tu propio ordenador e Internet, enrutando todo tu tráfico de red. Puedes utilizarlo para varios fines, como almacenar páginas web en caché o anonimizar la conexión.

Un proxy residencial te conecta a Internet a través de otro servidor real (normalmente en una ubicación diferente), haciendo que parezca que navegas desde ese lugar en vez de desde tu casa.

¿Qué es cURL?

Si nunca has oído hablar de cURL, quizá lo conozcas por nombres más antiguos: httpget o urlget. Existe desde hace tiempo, desde 1996. Es una herramienta muy útil que te permite transferir datos desde servidores remotos. Puedes usar cURL con proxies para obtener páginas web, descargar archivos remotos y hacer muchas cosas más sin ser detectado.

¿Cuál es la URL?

Uniform Resource Locator es el término apropiado para una dirección web como https://example.com, por ejemplo. (¿Qué? ¡Es un buen ejemplo!)

La primera parte de la URL (HTTPS) es el identificador del protocolo. A veces el protocolo es HTTP, y a veces es HTTPS. La diferencia es que uno (HTTPS) utiliza un protocolo seguro con cifrado, y el otro (HTTP) no está cifrado. Hay muchos más protocolos, pero me centraré sobre todo en estos dos.

Which should you use? It depends on your risk tolerance. You can read more about encryption and risk here.

La segunda parte de la URL (ejemplo.com) es el recurso.

¿Y la pequeña "c" delante de la URL?

Significa cliente. (Ese serías tú)

Combínelos y obtendrá cURL. Tú y URL, conectando y localizando recursos juntos. (¡Cosas que tocan!)

Amor a los rizos

¿Qué hace cURL?

cURL funciona en los sistemas operativos Linux, Windows y Mac, así como en Android e iOS. Además, ofrece opciones para personalizar sus funciones, lo que lo convierte en una herramienta muy deseada en la comunidad de webmasters.

It also supports authentication methods such as Basic and Digest and can handle user-level HTTP proxy configurations exceptionally well.

cURL tiene muchas opciones de configuración que le permiten decidir lo que debe hacer cuando se encuentra con ciertas condiciones, como un código de error HTTP.

En resumen: hace la mayoría de las cosas que hace un navegador, pero todo en una pequeña ventana negra sin imágenes y todas esas cosas divertidas.

6 formas inteligentes de utilizar el símbolo del sistema de Windows | Wired

Guía rápida de instalación de cURL:

Si usas Mac OSX o un dispositivo Apple (IOS), curl viene preinstalado, así que sáltate esta parte.

For Windows with Cygwin already installed, curl will be recognized as an internal command, so there’s no need to download it. If you’re a Windows user and don’t have Cygwin installed, cURL is most likely not in your c:windowssystem32 directory

Por ejemplo, si estás usando Ubuntu, cURL estará disponible en los repositorios por defecto, así que sólo tienes que ejecutar este comando: Sudo apt-get install curl.

Las partes esenciales de una línea de comandos cURL

Si no eres astrofísico informático, permíteme que te aclare un poco la estructura de una línea de comandos.

  • Protocolo - se refiere a esquemas de comunicación de red como HTTP, HTTPS, SOCKS, etc.
  • Proxy server – the address of the proxy server or proxy host you plan to use
  • Número de puerto - el puerto por el que accederá
  • Dirección del recurso - la página web a la que desea dirigirse
  • Nombre de usuario y contraseña - si la dirección proxy requiere autenticación
  • Etiquetas - son las opciones de línea de comandos que activan y desactivan cada comando
  • Argumentos de la línea de comandos: permiten transmitir información relativa a la opción de la línea de comandos (etiqueta).

Póngalos todos juntos y tendrá algo así:

Curl de línea de comandos

¿Cómo se ejecuta cURL con proxies?

You can set up cURL with various kinds of proxies like residential proxies, private proxies, shared proxies, and datacenter proxies.

La forma más común de configurar cURL con proxies es con un comando proxy.

Uso de comandos proxy

Un comando proxy es una opción de línea de comandos, o etiqueta, que influye en la cadena proxy (detalles proxy + puerto + usuario + pass). La influencia consiste principalmente en activar o desactivar el proxy.

Cada etiqueta tiene una versión corta (-) y otra larga (-). Algo así como los dits y dahs del código morse.

-x 

es la opción corta.

es la opción larga.

Ambos hacen lo mismo, excepto que -x es más eficiente (y quizás más agradable estéticamente).

Para conectar correctamente cURL a un proxy, utilice la etiqueta -x o -proxy seguida del protocolo, el servidor proxy, el número de puerto y el recurso que desee.

He aquí un ejemplo de lo que podría ser la línea de comandos:

-x, --proxy [protocol]://[proxyhost]:[port][resource address]

Y un poco más desarrollado:

-x, --proxy http://residential.ipb.server:7777 https://google.com

Hay otras formas de utilizar un proxy con cURL.

Las siguientes secciones tratarán sobre el esquema básico de autenticación, el uso de variables de entorno, un alias, el archivo reconfig, diferentes protocolos y la desactivación de proxies.

cURL con nombre de usuario y contraseña

La etiqueta para utilizar un esquema de autenticación proxy es -u o -proxy-user. Justo entre la cadena proxy y el recurso, introduce la etiqueta, el nombre de usuario y la contraseña.

 $ curl -x http://residential.ipb.server:7777 [-u username:password] http://google.com

Utilizar un alias

Un alias para un comando, para un proxy, suena a táctica triplemente secreta.

En realidad es bastante sencillo.

Sólo estás haciendo que el comando curl sea igual al comando curl + los detalles del proxy.

Así que cuando entres:

$ curl https//google.com

En realidad significa:

$ curl -x [all your proxy details] https://google.com

¿Cómo se hace esta magia? Sencillo (como ya he dicho):

$ alias curl=curl -x [enter all the proxy details here]

Uso de variables de entorno

¿Qué es una variable de entorno? Si estás pensando en algo como carreteras resbaladizas por la lluvia, casi, pero no del todo.

Resbaladizo cuando está mojado

En este caso, es un atajo.

En lugar de escribir la cadena del proxy todo el tiempo, puede establecer el proxy de forma permanente.

Las variables de entorno funcionan para cualquier tipo de protocolo. Todo lo que tienes que hacer es activarla estableciendo la variable PROTOCOL_PROXY.

http_proxy, HTTPS_PROXY, FTP_PROXY

...y así sucesivamente para cualquier combinación protocolo_proxy que elijas. Observa que HTTP es el único en minúsculas. Ha sido a propósito. Es el único que tiene que estar en minúsculas, pero no voy a entrar en la razón técnica para ello aquí.

También puedes usar:

ALL_PROXY

si sus tareas no son específicas del protocolo.

Por ejemplo, creemos una cadena proxy siguiendo esta plantilla:

$ curl -x [proxy server]:[port] [username:password] [resource]

(inventando cosas)

$ curl -x  http://180.1.0.0.1222:8080 -u jumpingjack:candlestick https://nimblejack.com

Usando la opción de comando proxy, tendrías que escribir esto todo el tiempo. En su lugar, establezca la variable con export, así:

export http_proxy=http://180.1.0.0.1222:8080 -u jumpingjack:candlestick https://nimblejack.com
or
export WHATEVER OTHER PROTOCOL YOU WANT_PROXY:// [proxy server]:[port] [username:password]

Ahora, todo lo que tienes que introducir en la línea de comandos es:

$ curl https//nimblejack.com

¡Y listo!

Nota: Si desea utilizar un proxy diferente después de establecer una variable de entorno, las etiquetas -x lo anularán.

Cambiar el archivo rc.file

Here you appeal to cURL’s inherent nature to use its default settings. When the program loads, it will search %APPDATA% or %USERPROFILE%Application Data for the reconfig file.

Tendrá el aspecto de rc.file en Mac y Linux, y de _curlrc en Windows.

Así que todo lo que tienes que hacer es abrir ese archivo y cambiar los detalles del proxy:

proxy=http://[proxy details]

cURL con un proxy SOCKS

cURL es compatible con SOCKS versión SOCKS4 y SOCKS5. 

Si los servidores proxy utilizan protocolos socks, la sintaxis sigue siendo la misma: -socks4://, socks4a:// o socks5://.

Estas son las opciones de la línea de comandos para cada versión específica de SOCKS:

SOCKS4:

$ curl -x socks4://180.1.0.0.1222:8080 http://ipburger.com

SOCKS4A:

$ curl -x socks4a://180.1.0.0.1222:8080 http://ipburger.com/bestresidentialproxies

SOCKS5:

$ curl -x socks5://180.1.0.0.1222:8080 http://ipburger.com/betterthanoxylabsandbrightdata

SOCKS5H:

$ curl -x socks5h://180.1.0.0.1222:8080 http://ipburger.com/decentreadingmaterialtoo

Te habrás dado cuenta de que no he puesto un número de puerto después de la dirección IP.

(Tal vez estabas distraído...)

Cuando se utiliza el protocolo SOCKS, no es necesario incluir un número de puerto en la URL porque no es necesario.

Para que lo sepas.

Desactivar proxies

Ahora sabemos que cURL con un proxy se puede configurar por todo tipo de medios. Esto facilita la ejecución de cURL y ahorra tiempo de escritura. Sin embargo, es posible que en algunas situaciones tenga que restablecer la configuración actual del proxy y conectarse directamente.

La opción -noproxy puede utilizarse para desactivar la configuración actual del proxy.

$ curl --noproxy http://ipburger.com

IP Burger cURL Proxies

Puede simplemente omitir la composición de la línea de comandos. Puede ser tedioso, sin duda. Así que no te juzgo si prefieres que te lo compongan. De hecho, te animo a ello.

Not just because IPBurger delivers residential curl proxies hot off the server, in seconds, but also because you’re probably doing something cool. And I’d rather you spend time doing that than playing lego with boolean bits.

Usted puede simplemente descargar una lista de proxies listo con argumento de línea de comandos, parámetro de línea de comandos, puerto de host de protocolo, nombre de usuario, y pasar en su lugar.

Ipburger Curl Proxies

Todos ellos se conectan a proxies residenciales que son perfectos para el web scraping, o las otras cosas chulas que haces.

PREGUNTAS FRECUENTES

¿Por qué cURL no utiliza siempre el mismo proxy?

It doesn’t have a way to utilize a single or specific pool of residential IPs from the list. The best option is to run multiple cURLs simultaneously from separate terminal windows, each on different residential proxies. This guarantees that every request gets its own pool of residential IP addresses.

¿Puedo mezclar los protocolos HTTP y HTTPS? 

Puedes mezclar totalmente tus peticiones siempre que tengan credenciales transparentes y anónimas. Si planeas descargar archivos a través de HTTPS, cURL siempre elegirá HTTPS por sí mismo.

¿Cómo puedo configurar cURL para que utilice diferentes proxies a la vez?

cURL no tiene la opción de pool de proxies. Sólo admite un proxy a la vez. Para utilizarlo con varios proxies, debe configurarlos como opciones de cURL y pasarlos como argumento. En otras palabras,

curl -x http://addr1:port1 -u username -p password URL_SCHEME://addr2:port2

Si quieres que cURL funcione con dos o más proxies a través de variables de entorno, sólo tienes que añadir la configuración del proxy en tu archivo .bashrc. A continuación, puede acceder a cualquier proxy utilizando cURL a través de ese servidor proxy específico escribiendo el comando en el terminal sin argumentos después de exportar su perfil de shell.

¿Es necesario que los proxies cURL sean estáticos? 

No. Los proxies cURL son direcciones IP residenciales y cambian a menudo. En otras palabras, pueden ser dinámicos. Las IPs residenciales dinámicas funcionarán adecuadamente con cURL si son lo suficientemente rápidas para que las peticiones se ejecuten sin problemas a través de ellas.

¿Para qué sirve el rizo? 

Puedes utilizarlo de la forma que creas conveniente. Por lo general, se trata de una utilidad de línea de comandos que puedes utilizar para el web scraping o la descarga de archivos.

¿Qué tipo de proxies necesito?

Necesitas proxies residenciales que sean de buena calidad porque pueden pasar CAPTCHAs automáticamente sin activar alarmas. Deberías considerar el uso de estos proxies de talla única en los que los usuarios pueden seleccionar diferentes opciones como la velocidad, el nivel de anonimato y el país.

Para obtener más ayuda sobre estas opciones, escriba "man curl" o "curl -h" en el terminal. Aparecerá la página man. (No es lo que piensas).

In this Article:
Leave behind the complexities of web scraping.
Opt for IPBurger’s advanced web intelligence solutions to effortlessly collect real-time public data.
Inscríbete

Profundice aún más en ,

Apoderados
AJ Tait
The Best Storm Proxies Alternative: Faster, Safer & More Affordable Proxies

Looking for a Storm Proxies Alternative? Storm Proxies sells the dream: simple, affordable proxies that “just work.” And for some users? It kind of delivers. Until it doesn’t. Because here’s the reality—if you’re pulling small data sets, running light scraping jobs, or dipping your toes into sneaker copping, Storm Proxies

Apoderados
AJ Tait
The Best IPRoyal Alternative for Power, Control & Price

Outgrowing IPRoyal? Here’s the Smarter Alternative If you’ve been using IPRoyal, chances are it was for one simple reason—it’s cheap. And in the world of proxies, “cheap” can be enough to get you started. But here’s the thing about IPRoyal: it’s a gateway, not a long-term solution. At first, it

Scale Your Business
With The Most Advanced
Proxies On Earth
Únase a la red de proxy más premiada