Converteer curl naar Ansible
curl2code converteert curl-opdrachten naar Ansible-playbooktaken met de uri-module. De conversie wordt in je browser uitgevoerd via WebAssembly voor volledige privacy. Voor Python, bekijk onze curl naar Python-converter. Voor PowerShell, zie curl naar PowerShell. Hieronder staan praktische Ansible-voorbeelden.
Hoe je curl kopieert vanuit je browser
- 1
Open Ontwikkelaarstools
Druk op F12 of Ctrl+Shift+I om de ontwikkelaarstools van je browser te openen.
- 2
Ga naar het tabblad Netwerk
Klik op het tabblad Netwerk en voer de actie uit die het HTTP-verzoek activeert.
- 3
Kopiëren als cURL
Klik met de rechtermuisknop op het verzoek → Kopiëren → Kopiëren als cURL. Plak het vervolgens hierboven.
Veelgestelde vragen
Wat is de Ansible uri-module?
De uri module is de ingebouwde module van Ansible voor het maken van HTTP-verzoeken binnen playbooks. Het ondersteunt GET, POST, PUT, DELETE met ondersteuning voor JSON-bodies, authenticatie en statuscode-validatie. Geen extra collectie nodig — het maakt deel uit van ansible.builtin. curl2code genereert Ansible task YAML met behulp van de uri-module.
uri module vs get_url vs command met curl — welke moet ik gebruiken?
De uri module is voor API-aanroepen — het retourneert geparste JSON en valideert de status. get_url is voor het downloaden van bestanden naar schijf. command: curl is een anti-pattern — het verliest idempotentie en foutafhandeling. Geef altijd de voorkeur aan uri voor HTTP API-interacties. Voor Python-automatisering, zie curl naar Python.
Hoe ga je om met authenticatie in Ansible?
Voor Bearer: headers: { Authorization: "Bearer {{ token }}" }. Gebruik voor Basic auth de parameters url_username and url_password. Sla geheimen op in Ansible Vault: ansible-vault encrypt_string. De uri-module ondersteunt ook force_basic_auth: yes voor preventieve authenticatie.
Hoe verstuur je form-data met Ansible?
Voor JSON-bodies: body: {{ data | to_json }} met body_format: json. Voor form-urlencoded: body_format: form-urlencoded met body: key=value&key2=value2. Multipart bestandsuploads vereisen de community.general.uri module of een aangepast script. curl2code handelt -F conversies af.
Hoe ga je om met fouten in Ansible HTTP-taken?
Gebruik register: result met failed_when: result.status != 200 voor aangepaste foutcondities. Gebruik ignore_errors: yes om door te gaan bij een fout. De uri-module faalt standaard bij niet-2xx — overschrijf dit met status_code: [200, 201, 404] om meerdere statuscodes te accepteren.
Hoe parse je JSON-reacties in Ansible?
De uri-module parseert JSON automatisch wanneer return_content: yes is ingesteld — toegang via result.json. Gebruik Jinja2-filters: result.json.users | selectattr('active') | list. Gebruik voor complexe transformaties set_fact met filters. Registreer resultaten voor gebruik in volgende taken.
Hoe stel je timeouts en retries in in Ansible?
Stel timeout: 30 in op de uri-taak voor de verzoektimeout in seconden. Voor retries: gebruik retries: 3 met delay: 5 en until: result.status == 200. Dit is Ansible's ingebouwde retry-loop patroon — geen aangepaste scripting nodig. Werkt met elke module, niet alleen uri.
Hoe gebruik je een proxy met Ansible uri?
Stel de omgeving in op de taak: environment: { http_proxy: "http://proxy:8080", https_proxy: "http://proxy:8080" }. Of stel het globaal in in ansible.cfg of group_vars. De uri-module respecteert standaard proxy-omgevingsvariabelen. Voor no-proxy uitzonderingen: no_proxy: "localhost,.internal".
Hoe verstuur je een POST-verzoek met een JSON body in Ansible?
Converteer een curl POST-commando zoals curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL naar Ansible met curl2code. De gegenereerde code gebruikt ansible.builtin.uri: url: '{'{ url }'}' method: POST body_format: json body: '{'{ data }'}'. curl2code detecteert automatisch -d/--data flags met JSON-inhoud en stelt de juiste Content-Type header in de uri module code in.
Hoe voeg je Bearer token autorisatie toe in Ansible?
Geef curl -H "Authorization: Bearer YOUR_TOKEN" URL door aan curl2code en het genereert uri module code met de auth header: headers: Authorization: 'Bearer YOUR_TOKEN'. curl2code detecteert Bearer tokens van zowel -H "Authorization: Bearer ..." als --oauth2-bearer flags. Gebruik voor Basic auth -u user:pass.
Hoe stel je de Content-Type header in in Ansible?
curl2code converteert curl -H "Content-Type: application/json" URL naar uri module code met de juiste header: body_format: json. Voor -d data gebruikt curl standaard application/x-www-form-urlencoded; voor -F formulier-uploads wordt multipart/form-data gebruikt. curl2code koppelt elk type aan de juiste uri module API.