Converter curl para Ansible
O curl2code converte comandos curl para tarefas de playbook do Ansible utilizando o módulo uri. A conversão é executada no seu navegador através de WebAssembly para total privacidade. Para Python, consulte o nosso conversor de curl para Python. Para PowerShell, veja curl para PowerShell. Abaixo encontram-se exemplos práticos de Ansible.
Como copiar o curl do seu navegador
- 1
Abrir as DevTools
Prima F12 ou Ctrl+Shift+I para abrir as ferramentas de programador do seu navegador.
- 2
Ir para o separador Network
Clique no separador Network e realize a ação que despoleta o pedido HTTP.
- 3
Copiar como cURL
Clique com o botão direito no pedido → Copy → Copy as cURL. Depois cole-o acima.
Perguntas Frequentes
O que é o módulo uri do Ansible?
O módulo uri é o módulo integrado do Ansible para fazer pedidos HTTP dentro de playbooks. Gere GET, POST, PUT, DELETE com suporte para corpo JSON, autenticação e validação de código de estado. Não é necessária nenhuma coleção adicional — faz parte do ansible.builtin. O curl2code gera YAML de tarefas Ansible utilizando o módulo uri.
Módulo uri vs get_url vs comando com curl — qual utilizar?
O módulo uri é para chamadas de API — devolve JSON analisado e valida o estado. O get_url é para descarregar ficheiros para o disco. O command: curl é um anti-padrão — perde a idempotência e o tratamento de erros. Prefira sempre o uri para interações com APIs HTTP. Para automação em Python, veja curl para Python.
Como lidar com autenticação no Ansible?
Para Bearer: headers: { Authorization: "Bearer {{ token }}" }. Para autenticação Basic: utilize os parâmetros url_username e url_password. Guarde segredos no Ansible Vault: ansible-vault encrypt_string. O módulo uri também suporta force_basic_auth: yes para autenticação preemptiva.
Como enviar dados de formulário com o Ansible?
Para corpos JSON: body: {{ data | to_json }} com body_format: json. Para form-urlencoded: body_format: form-urlencoded com body: key=value&key2=value2. Uploads de ficheiros multipart requerem o módulo community.general.uri ou um script personalizado. O curl2code lida com as conversões -F.
Como lidar com erros em tarefas HTTP do Ansible?
Utilize register: result com failed_when: result.status != 200 para condições de falha personalizadas. Utilize ignore_errors: yes para continuar em caso de falha. O módulo uri falha em não-2xx por predefinição — substitua com status_code: [200, 201, 404] para aceitar múltiplos códigos de estado.
Como analisar respostas JSON no Ansible?
O módulo uri analisa automaticamente o JSON quando return_content: yes está definido — aceda via result.json. Utilize filtros Jinja2: result.json.users | selectattr('active') | list. Para transformações complexas, utilize set_fact com filtros. Registe os resultados para utilização em tarefas subsequentes.
Como definir timeouts e repetições no Ansible?
Defina timeout: 30 na tarefa uri para o timeout do pedido em segundos. Para repetições: utilize retries: 3 com delay: 5 e until: result.status == 200. Este é o padrão de loop de repetição integrado do Ansible — não é necessário scripting personalizado. Funciona com qualquer módulo, não apenas com o uri.
Como utilizar um proxy com o uri do Ansible?
Defina o ambiente na tarefa: environment: { http_proxy: "http://proxy:8080", https_proxy: "http://proxy:8080" }. Ou defina globalmente em ansible.cfg ou group_vars. O módulo uri respeita as variáveis de ambiente de proxy padrão. Para exceções de no-proxy: no_proxy: "localhost,.internal".
Como enviar um pedido POST com um corpo JSON em Ansible?
Converta um comando curl POST como curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL para Ansible usando o curl2code. O código gerado utiliza ansible.builtin.uri: url: '{'{ url }'}' method: POST body_format: json body: '{'{ data }'}'. O curl2code deteta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código do módulo uri.
Como adicionar autorização com token Bearer em Ansible?
Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e este gera código do módulo uri com o cabeçalho de autenticação: headers: Authorization: 'Bearer YOUR_TOKEN'. O curl2code deteta tokens Bearer tanto de flags -H "Authorization: Bearer ..." como de --oauth2-bearer. Para Basic auth, utilize -u user:pass.
Como definir o cabeçalho Content-Type em Ansible?
O curl2code converte curl -H "Content-Type: application/json" URL para código do módulo uri com o cabeçalho correto: body_format: json. Para dados -d, o curl assume por defeito application/x-www-form-urlencoded; para envios de formulários -F, utiliza multipart/form-data. O curl2code mapeia cada um para a API do módulo uri correta.
Links Úteis
Guias do curl
Códigos de erro do curl
Consulte qualquer código de saída do curl — causas, correções e dicas de depuração.
Transferir ficheiros com curl
Guarde ficheiros com -o, -O, siga redirecionamentos, retome transferências e mais.
SSL, TLS e proxy
Configure certificados, versões TLS, proxies HTTP/SOCKS e DNS personalizado.