Konvertera curl till Ansible
curl2code konverterar curl-kommandon till Ansible-playbook-uppgifter med modulen uri. Konverteringen körs i din webbläsare via WebAssembly för total integritet. För Python, kolla in vår curl till Python-konverterare. För PowerShell, se curl till PowerShell. Nedan finns praktiska Ansible-exempel.
Hur man kopierar curl från din webbläsare
- 1
Öppna DevTools
Tryck på F12 eller Ctrl+Shift+I för att öppna webbläsarens utvecklarverktyg.
- 2
Gå till fliken Network
Klicka på fliken Network och utför åtgärden som utlöser HTTP-begäran.
- 3
Kopiera som cURL
Högerklicka på begäran → Copy → Copy as cURL. Klistra sedan in den ovan.
Vanliga frågor
Vad är Ansible uri-modulen?
uri-modulen är Ansibles inbyggda modul för att göra HTTP-förfrågningar i playbooks. Den hanterar GET, POST, PUT, DELETE med stöd för JSON-body, autentisering och validering av statuskoder. Ingen extra collection krävs — den är en del av ansible.builtin. curl2code genererar Ansible-task YAML med uri-modulen.
uri-modul vs get_url vs command med curl — vilken ska man använda?
uri-modulen är till för API-anrop — den returnerar parsad JSON och validerar status. get_url är till för att ladda ner filer till disk. command: curl är ett antimönster — man förlorar idempotens och felhantering. Föredra alltid uri för HTTP API-interaktioner. För Python-automatisering, se curl till Python.
Hur hanterar man autentisering i Ansible?
För Bearer: headers: { Authorization: "Bearer {{ token }}" }. För Basic auth: använd parametrarna url_username och url_password. Lagra hemligheter i Ansible Vault: ansible-vault encrypt_string. uri-modulen stöder även force_basic_auth: yes för proaktiv autentisering.
Hur skickar man formulärdata med Ansible?
För JSON-bodies: body: {{ data | to_json }} med body_format: json. För form-urlencoded: body_format: form-urlencoded med body: key=value&key2=value2. Multipart-filuppladdningar kräver modulen community.general.uri eller ett anpassat skript. curl2code hanterar -F-konverteringar.
Hur hanterar man fel i Ansible HTTP-tasks?
Använd register: result med failed_when: result.status != 200 för anpassade felvillkor. Använd ignore_errors: yes för att fortsätta vid fel. uri-modulen misslyckas vid svar som inte är 2xx som standard — åsidosätt med status_code: [200, 201, 404] för att acceptera flera statuskoder.
Hur parsar man JSON-svar i Ansible?
uri-modulen parsar automatiskt JSON när return_content: yes är inställt — kom åt via result.json. Använd Jinja2-filter: result.json.users | selectattr('active') | list. För komplexa transformeringar, använd set_fact med filter. Registrera resultat för användning i efterföljande tasks.
Hur ställer man in timeouts och retries i Ansible?
Ställ in timeout: 30 på uri-tasken för timeout i sekunder. För retries: använd retries: 3 med delay: 5 och until: result.status == 200. Detta är Ansibles inbyggda mönster för retry-loopar — inget anpassat skript behövs. Fungerar med alla moduler, inte bara uri.
Hur använder man en proxy med Ansible uri?
Ställ in miljön på tasken: environment: { http_proxy: "http://proxy:8080", https_proxy: "http://proxy:8080" }. Eller ställ in globalt i ansible.cfg eller group_vars. uri-modulen respekterar standardmiljövariabler för proxy. För undantag (no-proxy): no_proxy: "localhost,.internal".
Hur skickar man en POST förfrågan med JSON body i Ansible?
Konvertera ett curl POST kommando som curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL till Ansible med curl2code. Den genererade koden använder ansible.builtin.uri: url: '{'{ url }'}' method: POST body_format: json body: '{'{ data }'}'. curl2code detekterar automatiskt -d/--data flaggor med JSON innehåll och ställer in rätt Content-Type header i uri module kod.
Hur lägger man till Bearer token auktorisering i Ansible?
Skicka curl -H "Authorization: Bearer YOUR_TOKEN" URL till curl2code så genereras uri module kod med auth header: headers: Authorization: 'Bearer YOUR_TOKEN'. curl2code detekterar Bearer tokens från både -H "Authorization: Bearer ..." och --oauth2-bearer flaggor. För Basic auth, använd -u user:pass.
Hur ställer man in Content-Type header i Ansible?
curl2code konverterar curl -H "Content-Type: application/json" URL till uri module kod med rätt header: body_format: json. För -d data använder curl som standard application/x-www-form-urlencoded; för -F formuläruppladdningar används multipart/form-data. curl2code mappar varje del till rätt uri module API.