resumen isabel deseo cuerpo capitulos capitulo curl

curl - isabel - el cuerpo del deseo resumen



Agregue automáticamente nueva línea al final del cuerpo de respuesta del rizo (3)

Si el cuerpo de respuesta HTTP para una solicitud curl no contiene una nueva línea final, termino con esta condición realmente molesta donde el indicador de shell está en el medio de la línea, y el escape está tan mal que cuando puse el último curl comando en la pantalla, eliminar caracteres de ese comando curl eliminar los caracteres incorrectos.

Por ejemplo:

[root@localhost ~]# curl jsonip.com {"ip":"10.10.10.10","about":"/about"}[root@localhost ~]#

¿Hay algún truco que pueda usar para agregar automáticamente una nueva línea al final de una respuesta curl, para volver a mostrar el mensaje en el borde izquierdo de la pantalla?


Del archivo man:

Para permitir que los programadores de scripts conocieran mejor el progreso de Curl, se introdujo la opción -w / - write-out. Al usar esto, puede especificar qué información de la transferencia anterior desea extraer.

Para mostrar la cantidad de bytes descargados junto con algún texto y una nueva línea final:

curl -w ''We downloaded %{size_download} bytes/n'' www.download.com

Intente agregar lo siguiente a su archivo ~/.curlrc :

-w "/n"


Para obtener más información, así como una nueva línea limpia después del enrollamiento

~/.curlrc

-w "/nstatus=%{http_code} %{redirect_url} size=%{size_download} time=%{time_total} content-type=/"%{content_type}/"/n"

(Más opciones están disponibles here )

redirect_url estará en blanco si la solicitud no se redirecciona o utiliza -L para seguir el redireccionamiento.

Ejemplo de salida:

~ ➤ curl https://www.google.com <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> <TITLE>302 Moved</TITLE></HEAD><BODY> <H1>302 Moved</H1> The document has moved <A HREF="https://www.google.co.uk/?gfe_rd=cr&amp;ei=FW">here</A>. </BODY></HTML> status=302 https://www.google.co.uk/?gfe_rd=cr&ei=FW size=262 time=0.044209 content-type="text/html; charset=UTF-8" ~ ➤

Editar , para hacer las cosas más legibles, puede agregar colores ANSI a la línea -w , no es tan fácil escribir directamente, pero this secuencia de comandos puede generar un archivo ~/.curlrc con colores.

#!/usr/bin/env python3 from pathlib import Path import click chunks = [ (''status='', ''blue''), (''%{http_code} '', ''green''), (''%{redirect_url} '', ''green''), (''size='', ''blue''), (''%{size_download} '', ''green''), (''time='', ''blue''), (''%{time_total} '', ''green''), (''content-type='', ''blue''), (''//"%{content_type}//"'', ''green''), ] content = ''-w "//n'' for chunk, colour in chunks: content += click.style(chunk, fg=colour) content += ''//n"/n'' path = (Path.home() / ''.curlrc'').resolve() print(''writing:/n{}to: {}''.format(content, path)) path.write_text(content)


Trata eso :

curl jsonip.com; echo

SALIDA

{"ip":"x.x.x.x","about":"/about"}

Esto es así de simple;)

(y no se limita al comando curl pero todos los comandos que no terminan con una nueva línea)