Skip to main content

httpie

Expert HTTPie assistance covering CLI and GUI HTTP client usage, JSON formatting, authentication, sessions, and headers. Use when testing, debugging, and querying RESTful APIs from terminal.

Datos de origen

Repositorio
G1Joshi/Agent-Skills
Última actividad en el origen
1 de octubre de 2026 a las 16:38
Idioma detectado de SKILL.md
inglés
Estrellas
14
Forks
2

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
httpie
description
Expert HTTPie assistance covering CLI and GUI HTTP client usage, JSON formatting, authentication, sessions, and headers. Use when testing, debugging, and querying RESTful APIs from terminal.
# HTTPie HTTPie provides an intuitive CLI and desktop client for testing, debugging, and interacting with HTTP APIs, featuring human-readable syntax and formatted JSON output. ## When to Use - **Human-Friendly CLI API Testing**: Intuitive, colorized HTTP client alternative to curl with concise JSON syntax. - **Session & Authentication Management**: Persisting auth headers, cookies, and tokens across requests using `--session`. - **Form Data & File Uploads**: Uploading multi-part forms and files with progress bars and MIME type detection. - **API Prototyping & Scripting**: Testing GraphQL, REST, and streaming SSE endpoints from the terminal. ## Quick Start ```bash # Intuitive JSON POST request with automatic formatting and colorization http POST api.example.com/users \ Authorization:"Bearer $TOKEN" \ name="Alice" \ email="alice@example.com" \ age:=30 \ active:=true ``` ## Core Concepts ### Intuitive JSON Request & Header Syntax Sending structured JSON payloads without escaping quotes: ```bash # POST request with JSON body (string vs number vs boolean syntax) http POST https://api.example.com/v1/orders \ Authorization:"Bearer $API_TOKEN" \ customer_id="cust_1029" \ amount:=149.50 \ is_gift:=true \ items:='["item_1", "item_2"]' # GET request with query parameters (using ==) http GET https://api.example.com/v1/orders \ status==active \ limit==10 \ sort==desc ``` ### Persistent Sessions for Authenticated Workflows Saving authentication tokens and session cookies: ```bash # 1. Log in and save session cookies/tokens to 'staging' session http --session=staging POST https://api.example.com/auth/login \ username="admin@example.com" \ password="SecretPassword2026" # 2. Subsequent requests automatically reuse session state http --session=staging GET https://api.example.com/dashboard/kpi ``` ### Form Submissions & File Uploads Uploading files with multi-part encoding: ```bash # Upload document with progress bar http --form POST https://api.example.com/upload \ title="Financial Report" \ document@./annual_report.pdf ``` ## Common Patterns ### Session Persistence for Authenticated API Testing **Problem**: Re-specifying headers, tokens, and cookies across repeated curl requests during debugging. **Solution**: Use HTTPie named sessions: ```bash # Log in and automatically persist session cookies and headers http --session=admin-session POST api.example.com/login username=admin password=secret # Subsequent requests automatically use saved authentication state http --session=admin-session GET api.example.com/dashboard/stats ``` ## Best Practices **Do**: - Use `:=` for non-string JSON values (numbers, booleans, arrays) and `=` for string values. - Use `--session` to avoid repeating authentication headers across sequential CLI requests. - Use `--print=HhBb` to control which headers and body elements are printed to terminal output. - Pipe output to `jq` using `--json` flag when combining with shell scripts. **Don't**: - Include plain text passwords in shell history; supply via environment variables or prompt. - Forget `==` when specifying URL query parameters (single `=` defines request body properties). - Use HTTPie in resource-constrained container images if minimal `/bin/sh` with curl suffices. ## Troubleshooting | Error | Cause | Solution | | :--------------------------------------------------- | :------------------------------------------------------------- | :--------------------------------------------------------------- | | `http: error: ConnectionError: Connection refused` | Target local server port down or firewall blocking connection. | Verify local service is listening on targeted port. | | `Invalid JSON type: string passed instead of number` | Used `=` instead of `:=` for non-string JSON values. | Use `:=` for numbers/booleans: `count:=10` (vs `name="string"`). | | `SSL: CERTIFICATE_VERIFY_FAILED` | Local dev server using self-signed SSL certificate. | Add `--verify=no` flag for development testing. | ## References - [HTTPie Documentation](https://httpie.io/docs)
Ver en GitHub