README.md
· 3.7 KiB · Markdown
原始檔案
# 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)
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