Volver al índice


curl

Herramienta para la transferencia de datos desde o hacia un servidor. Permite los protocolos ftp, https, sftp, scp, tftp ...

$ curl ftp://host (Sin ninguna opción obtiene la páquina principal del host [http, ftp...)

$ curl ftp://host/ http://host/ (Descargar dos host simultaneos)

$ curl -o destino http://host (Guarda el host en destino)

$ curl -i URL (información sobre una URL)

$ curl -o portada.png http://www.lapipaplena.net/wp-content/uploads/2012/08/meditate1.png (descargar una imagen y guardarla)

$ curl -u usuario:contraseña http://localhost/restringido/ (Acceder a una zona que requiera autentificación)

$ curl ftp://usuario:contraseña@host:puerto/home/usuario/archivo (Otra forma de autentificación)

$ curl -T archivo_local ftp://host/carpeta (Subir un archivo local a un host remoto)

$ curl -T archivo_local -a ftp://host/ (Subir un archivo local a un host remoto con el parámetro -a)

$ curl -x proxy:8889 ftp://host (Obtener un host utilizando un proxy)

$ curl -u usuario:contraseña -x proxy:8888 http://host (Usando proxy y con autentificación)

$ curl -U usuario:contraseña -x proxy:8888 http://host (Cuando el proxy requiere autentificación especial)

$ curl -r 0-99 http://host (Obtener los primeros 100 bytes del documento)

$ curl -r -500 http://host (Obtener los últimos 500 bytes del documento)

$ curl --proxytunnel -x proxy:8888 -T archivo_local ftp ftp://host (Usando un tunel)

$ curl -v ftp://host (Ver información que se envia y recibe pero no los datos reales)

$ curl --trace trace.txt host (Obtener más información y guardar en trace.txt)

$ curl --dump-header headers.txt host (Guardar las cabeceras [cookies] en headers.txt)

$ curl -b headers.txt www.example.com (Pasar las cabeceras obtenidas a un host)

$ curl -e www.bueno.com http://host/ (Intentar engañar un site con una dirección falsa)

$ curl -A 'Mozilla/3.0 (Win95; I)' http://host (Intentar engañar un site especificando otro navegador)

$ curl --limit-rate 10K host (Limitar la velocidad de transferencia a 10 kilobytes)

$ curl -P 192.168.0.10 ftp host (Acceder a un host a partir de una ip a la que si tenemos acceso)

$ curl -C - -o descarga hots (Proseguir una descarga interrumpida)

$ curl -z local.html hots/remote.html (Sólo se efectuará la descarga si remote.html es más reciente que local.html)

Otras opciones:

$ curl -Is google.com | grep Date (Conocer la fecha via web)

$ curl ipinfo.io/183.61.164.202 (Conocer datos de una ip)

$ curl icanhazip.com (Conocer la IP externa)

$ curl ifconfig.me (lo mismo)

$ curl -u usuario:clave --silent "https://mail.google.com/mail/feed/atom" | perl -ne 'print "" if //; print "$2" if /<(title|name)>(.*)</>/;' (visualizar todos los mensajes no leidos de gmail)

$ curl -s 'http://geoiplookup.wikimedia.org/' | sed 's/^.*=//' | python3 -mjson.tool (muestra la situación geográfica)

$ curl -s http://geoiplookup.wikimedia.org/ | python3 -c 'import sys, json, string, webbrowser; webbrowser.open(string.Template("http://maps.google.com/maps?q=lat,lon").substitute(json.loads(sys.stdin.read().split("=")[-1])))' (Lo mismo pero abriendo una pestaña en el navegador)

$ curl -s http://www.census.gov/popclock/data/population/world | awk -F'[:,]' '{print $7}' (Muestra el número de habitantes de la tierra)

$ curl -s https://help.github.com/articles/generating-ssh-keys | grep -Po --color=never "RSA key fingerprint is (:?[A-z0-9]:?){32}" (Imprime la clave RSA de github.com)

$ curl -H 'Accept-Language: es' -s wttr.in/figueras,girona | sed -n '1,7p' (el tiempo en una ciudad)

$ curl -s -w 'Test de velocidad para :%{url_effective}Time:%{time_namelookup}Time:%{time_connect}-transfer Time:%{time_pretransfer}-transfer Time:%{time_starttransfer}Time:%{time_total}' -o /dev/null http://www.google.com (Tiempo de respuesta de un sitio web. Cambiar la url final)


Volver al índice