# 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 ```bash 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+) ```bash 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 ```bash # 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 ```bash http GET https://api.example.com X-API-Key:12345 Accept:application/json ``` ## Query parameters ```bash http GET https://api.example.com/search q==httpie page==1 limit==50 ``` ## Subida de archivos ```bash # 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 ```bash http --download https://example.com/archivo.zip http --download --output custom-name.zip https://example.com/archivo.zip ``` ## Sesiones ```bash # 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+) ```bash 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 ```bash # 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 ```bash http -p HBody https://api.example.com # H = headers response, B = body response, h = headers request, b = body request ``` ## Verificacion SSL ```bash http --verify=no https://ejemplo.com http --verify=/ruta/ca-bundle.crt https://ejemplo.com ``` ## Proxies ```bash http --proxy=http:http://proxy.local:8080 https://api.example.com http --proxy=https:http://proxy.local:8080 https://api.example.com ``` ## Mas informacion - [Documentacion oficial](https://httpie.io/docs/cli) - [Repositorio GitHub](https://github.com/httpie/cli) - [HTTPie for Desktop](https://httpie.io/desktop) - [Pie Host](https://pie.dev)