11 Uso del comando cURL con ejemplo en tiempo real

cURL es una herramienta de línea de comandos para obtener o enviar datos utilizando la sintaxis de URL.


Si está trabajando como desarrollador o en la función de soporte, debe tener en cuenta uso del comando cURL para solucionar problemas de aplicaciones web. cURL es una utilidad multiplataforma que puede usar en Windows, MAC y UNIX.

Las siguientes son algunas de las sintaxis más utilizadas con un ejemplo para ayudarlo.

Verifique si puede conectarse a la URL

Si está trabajando en un sistema UNIX y está intentando conectar la URL externa, lo primero que desea hacer es verificar si puede acceder a la URL a través de curl.

curl yoururl.com

No arrojará ningún resultado. Sin embargo, si el servidor no puede conectarse, recibirá un error que no pudo resolver el host.

[[correo electrónico protegido] tmp] # curl helloitdoesntexist.com
curl: (6) No se pudo resolver el host: helloitdoesntexist.com; Error desconocido
[[correo electrónico protegido] tmp] #

Guardar salida URL / URI en archivo

Si tiene que guardar el contenido de URL o URI en un archivo específico, puede usar la siguiente sintaxis

curl https://yoururl.com > yoururl.html

ex:

[[correo electrónico protegido] tmp] # curl https://gf.dev > / tmp / gfhtml
% Total% Recibido% Xferd Velocidad promedio Tiempo Tiempo Tiempo Actual
Descarga Carga Total gastado Velocidad izquierda
100 18557 0 18557 0 0 72565 0 -: -: – -: -: – -: -: – 72772
[[correo electrónico protegido] tmp] #

El ejemplo anterior guardará todos los contenidos de gf.dev a /tmp/gf.html

Mostrar encabezado de solicitud y respuesta

Si tiene problemas y desea validar, obtendrá el encabezado de solicitud y respuesta esperado.

curl -v yoururl.com

Ex:

[[correo electrónico protegido] tmp] # curl -v https://geekflare.com
* A punto de conectar () al puerto 443 de geekflare.com (# 0)
* Intentando 104.25.134.107…
* Conectado a geekflare.com (104.25.134.107) puerto 443 (# 0)
* Inicializando NSS con certpath: sql: / etc / pki / nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: ninguno
* Conexión SSL usando TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
* Certificado del servidor:
* subject: CN = ssl371609.cloudflaressl.com, OU = PositiveSSL Multi-Domain, OU = Control de dominio validado
* fecha de inicio: nov 07 00:00:00 2019 GMT
* Fecha de caducidad: 15 de mayo 23:59:59 2020 GMT
* nombre común: ssl371609.cloudflaressl.com
* emisor: CN = COMODO ECC Validación de dominio Servidor seguro CA 2, O = COMODO CA Limited, L = Salford, ST = Greater Manchester, C = GB
> GET / HTTP / 1.1
> Usuario-Agente: curl / 7.29.0
> Anfitrión: geekflare.com
> Aceptar: * / *
>
< HTTP / 1.1 200 OK
< Fecha: sáb, 09 nov 2019 19:41:37 GMT
< Tipo de contenido: texto / html; juego de caracteres = UTF-8
< Transferencia-Codificación: fragmentada
< Conexión: mantener vivo
< Set-Cookie: __cfduid = d2ce6cd359ebc0b6eb5ff3a454ed042021573328497; caduca = dom, 08-nov-20 19:41:37 GMT; ruta = /; dominio = .geekflare.com; HttpOnly; Seguro
< Variar: aceptar-codificación
< Enlace: ; rel ="https://api.w.org/"
< Enlace: ; rel = shortlink
< X-SRCache-Fetch-Status: HIT
< X-SRCache-Store-Status: BYPASS
< X-Frame-Options: SAMEORIGIN
< X-Powered By: EasyEngine v4.0.12
< Vía: 1.1 google
< Estado de la memoria caché CF: DINÁMICO
< Seguridad de transporte estricta: max-age = 15552000; precargar
< Opciones de tipo de contenido X: nosniff
< Alt-Svc: h3-23 =": 443"; ma = 86400
< Expect-CT: max-age = 604800, report-uri ="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
< Servidor: cloudflare
< RAYO CF: 533243e4bcd4bbf4-LHR
<

Descargar a una velocidad límite

Si está trabajando en la optimización y desea ver cuánto tiempo se tarda en descargar a una velocidad particular, puede:-

Curl –-limit-rate 2000B

Ex:

curl –-limit-rate 2000B https://gf.dev

Usando un proxy para conectar

Muy útil si está trabajando en el servidor DMZ donde necesita conectarse al mundo externo usando un proxy.

curl –proxy yourproxy: puerto https://yoururl.com

Probar URL con encabezado de inyección

Puede usar curl insertando un encabezado con sus datos para probar o solucionar el problema en particular. Veamos el siguiente ejemplo para solicitar con Content-Type.

curl –header ‘Content-Type: application / json’ http://yoururl.com

Al hacer lo anterior, le está pidiendo a curl que pase Content-Type como application / json en el encabezado de la solicitud.

Mostrar solo encabezado de respuesta

Si está solucionando problemas y desea verificar rápidamente el encabezado de respuesta, puede usar la siguiente sintaxis.

curl –head http://yoururl.com

Ex:

[[correo electrónico protegido] tmp] # curl –head https://chandan.io
HTTP / 1.1 200 OK
Fecha: sáb, 09 nov 2019 19:51:23 GMT
Tipo de contenido: texto / html
Conexión: mantener vivo
Set-Cookie: __cfduid = d3cb2c7b8e566ad99c870b0af12b0f1eb1573329083; caduca = dom, 08-nov-20 19:51:23 GMT; ruta = /; dominio = .chandan.io; HttpOnly
X-GUploader-UploadID: AEnB2Uo96JhvJmR2zYUL-Ndh2ta3UD_ykQAB5C7O8cjZQhCf-GxHQ0MsodSzRnl3guSN3ywAYNjtWcPXfwDXjLg3bQ-P5vQMOA
Expira: sáb, 09 nov 2019 20:51:23 GMT
Control de caché: público, max-age = 3600
Última modificación: lun, 06 ago 2018 10:45:47 GMT
Generación x-goog: 1533552347482034
x-goog-metageneration: 1
codificación de contenido almacenado x-goog: identidad
longitud de contenido almacenado x-goog: 24620
x-goog-hash: crc32c = DpDPAQ ==
x-goog-hash: md5 = cIP / 3rusdUx12Zla1kf1yA ==
x-goog-storage-class: MULTI_REGIONAL
Aceptar-Rangos: bytes
Estado de la memoria caché CF: DINÁMICO
Expect-CT: max-age = 604800, report-uri ="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
Servidor: cloudflare
RAYO CF: 53325234dc2fbb9a-LHR

[[correo electrónico protegido] tmp] #

Conecte la URL HTTPS / SSL e ignore cualquier error de certificado SSL

Cuando intente acceder a la URL segura del certificado SSL / TLS y si tiene el certificado incorrecto o el CN ​​no coincide, obtendrá el siguiente error.

curl: (51) No se puede comunicar de forma segura con el igual: el nombre de dominio solicitado no coincide con el certificado del servidor.

Buenas noticias, puede indicarle a cURL que ignore el error del certificado con –insecure flag.

curl –insecure https://yoururl.com

Conéctese utilizando un protocolo específico (SSL / TLS)

Muy útil para probar si una URL en particular puede establecer un protocolo SSL / TLS específico.

Para conectarse usando SSL v3

curl –sslv3 https://yoururl.com

y para diferentes versiones de TLS

curl –tlsv1 https://example.com
curl –tlsv1.0 https://example.com
curl –tlsv1.1 https://example.com
curl –tlsv1.2 https://example.com
curl –tlsv1.3 https://example.com

Descargar archivo del servidor FTP

También puede usar curl para descargar el archivo especificando nombre de usuario y contraseña.

curl -u usuario: contraseña -O ftp: //ftpurl/style.css

Siempre puedes usar “-v“Con cualquier sintaxis para imprimir en modo detallado.

Usar el encabezado de host

El encabezado del host es útil para probar la URL de destino sobre IP cuando el contenido solicitado solo está disponible cuando el encabezado del host coincide. O bien, si desea probar la aplicación con el equilibrador de carga IP / URL.

curl –header ‘Host: targetapplication.com’ https://192.0.0.1:8080/

¿Qué tal usar cURL en línea??

Sí, eso es posible con las siguientes herramientas. Puede ejecutar cURL de forma remota.

CURL en línea – una herramienta ligera para buscar la URL en línea y la posibilidad de agregar las siguientes opciones.

–tiempo de espera de conexión
–Galleta
–datos
–encabezamiento
–cabeza
–ubicación
–tiempo máximo
–apoderado
–solicitud
–usuario
–url
–agente de usuario

generador de línea de comando cURL Este es diferente. Le ayuda a construir el comando curl donde puede ingresar información en una interfaz de usuario agradable, y en la parte inferior, obtendrá el comando cURL.

constructor de rizos

cURL es una utilidad útil para solucionar un problema de conectividad en tiempo real, y espero que lo anterior le ayude. Si desea obtener más información, le recomendaría Conceptos básicos de la línea de comandos de Linux curso por Internet.

TAGS:

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map