Ostatnio aktywny 1 day ago

Referencia rapida de HTTPie: operadores, ejemplos, autenticacion, nested JSON, plugins y mas

README.md Surowy

HTTPie Cheatsheet

Referencia rapida para HTTPie, el cliente HTTP para terminal con sintaxis natural.

Sintaxis basica

http [flags] [METHOD] URL [ITEM [ITEM]]

Operadores

Operador Descripcion Ejemplo
: Header HTTP X-API-Token:123
== Query parameter q==httpie
= Data field (JSON) name=John
:= Raw JSON field age:=29
@ File upload cv@~/resume.pdf
=@ Embed file content description=@file.txt
:=@ Embed JSON file data:=@data.json

Metodos HTTP

http GET https://api.example.com/users
http POST https://api.example.com/users name=John age:=30
http PUT https://api.example.com/users/1 name=Jane
http PATCH https://api.example.com/users/1 email=new@example.com
http DELETE https://api.example.com/users/1

Nested JSON (v3.0.0+)

http POST https://httpbin.org/post \
  platform[name]=HTTPie \
  platform[apps][]=Terminal \
  platform[apps][]=Desktop \
  address[city]=SanFrancisco \
  address[coordinates][lat]:=37.7749 \
  address[coordinates][lng]:=-122.4194

Autenticacion

# Basic auth
http -a usuario:password https://api.example.com/protected

# Bearer token (v3.0.0+)
http -A bearer -a mi-token https://api.example.com/protected

# Token en header
http https://api.example.com/protected Authorization:"Bearer mi-token"

Headers

http GET https://api.example.com X-API-Key:12345 Accept:application/json

Query parameters

http GET https://api.example.com/search q==httpie page==1 limit==50

Subida de archivos

# Subir archivo
http POST https://api.example.com/upload cv@~/documentos/cv.pdf

# Formulario multipart
http -f POST https://api.example.com/upload cv@~/cv.pdf name=John

Descarga de archivos

http --download https://example.com/archivo.zip
http --download --output custom-name.zip https://example.com/archivo.zip

Sesiones

# Crear/guardar sesion
http --session=mi-api https://api.example.com/login user=admin password=1234

# Reutilizar sesion
http --session=mi-api https://api.example.com/protected

# Sesion solo para headers
http --session-read-only=mi-api https://api.example.com/data

Plugins (v3.0.0+)

httpie cli plugins install httpie-edgegrid
httpie cli plugins install httpie-jwt-auth
httpie cli plugins list
httpie cli plugins uninstall httpie-edgegrid

Flags utiles

# Verbose
http -v https://api.example.com
# Solo headers
http -h https://api.example.com
# Solo body
http -b https://api.example.com
# Sin color
http --style=none https://api.example.com
# JSON indentado
http --pretty=format https://api.example.com
# Seguir redirecciones
http --follow https://example.com
# Offline
http --offline POST https://api.example.com name=test
# Quiet
http -q POST https://api.example.com data=value
# Chunked
http --chunked POST https://api.example.com data=value
# Raw body
http --raw '{"key":"value"}' POST https://api.example.com
# Timeout
http --timeout 30 https://api.example.com
# Response metadata
http -vv https://api.example.com

Output personalizado

http -p HBody https://api.example.com
# H = headers response, B = body response, h = headers request, b = body request

Verificacion SSL

http --verify=no https://ejemplo.com
http --verify=/ruta/ca-bundle.crt https://ejemplo.com

Proxies

http --proxy=http:http://proxy.local:8080 https://api.example.com
http --proxy=https:http://proxy.local:8080 https://api.example.com

Mas informacion