Konverter curl til Ansible
curl2code konverterer curl-kommandoer til Ansible playbook-opgaver ved hjælp af uri-modulet. Konverteringen kører i din browser via WebAssembly for fuldstændig privatliv. For Python, tjek vores curl til Python-konverter. For PowerShell, se curl til PowerShell. Nedenfor er praktiske Ansible-eksempler.
Sådan kopierer du curl fra din browser
- 1
Åbn DevTools
Tryk på F12 eller Ctrl+Shift+I for at åbne din browsers udviklerværktøjer.
- 2
Gå til fanen Network
Klik på fanen Network og udfør den handling, der udløser HTTP-anmodningen.
- 3
Kopier som cURL
Højreklik på anmodningen → Copy → Copy as cURL. Indsæt den derefter ovenfor.
Ofte stillede spørgsmål
Hvad er Ansible uri-modulet?
uri-modulet er Ansibles indbyggede modul til at foretage HTTP-anmodninger i playbooks. Det håndterer GET, POST, PUT, DELETE med understøttelse af JSON-body, autentificering og validering af statuskoder. Ingen yderligere samling er nødvendig — det er en del af ansible.builtin. curl2code genererer Ansible task YAML ved hjælp af uri-modulet.
uri-modul vs get_url vs command med curl — hvilken skal man bruge?
uri-modulet er til API-kald — det returnerer parset JSON og validerer status. get_url er til download af filer til disk. command: curl er et anti-mønster — man mister idempotens og fejlhåndtering. Foretræk altid uri til HTTP API-interaktioner. For Python-automatisering, se curl til Python.
Hvordan håndteres autentificering i Ansible?
For Bearer: headers: { Authorization: "Bearer {{ token }}" }. Til Basic auth: brug parametrene url_username og url_password. Gem hemmeligheder i Ansible Vault: ansible-vault encrypt_string. uri-modulet understøtter også force_basic_auth: yes for præemptiv autentificering.
Hvordan sender man formular-data med Ansible?
For JSON-bodies: body: {{ data | to_json }} med body_format: json. For form-urlencoded: body_format: form-urlencoded med body: key=value&key2=value2. Multipart fil-uploads kræver community.general.uri-modulet eller et brugerdefineret script. curl2code håndterer -F konverteringer.
Hvordan håndteres fejl i Ansible HTTP-tasks?
Brug register: result med failed_when: result.status != 200 for brugerdefinerede fejlforhold. Brug ignore_errors: yes for at fortsætte ved fejl. uri-modulet fejler som standard ved ikke-2xx — overskriv med status_code: [200, 201, 404] for at acceptere flere statuskoder.
Hvordan parser man JSON-svar i Ansible?
uri-modulet parser automatisk JSON, når return_content: yes er indstillet — få adgang via result.json. Brug Jinja2-filtre: result.json.users | selectattr('active') | list. For komplekse transformationer skal du bruge set_fact med filtre. Registrer resultater til brug i efterfølgende opgaver.
Hvordan indstiller man timeouts og genforsøg i Ansible?
Indstil timeout: 30 på uri-opgaven for anmodnings-timeout i sekunder. For genforsøg: brug retries: 3 med delay: 5 og until: result.status == 200. Dette er Ansibles indbyggede genforsøgs-løkkemønster — ingen brugerdefineret scripting er nødvendig. Fungerer med ethvert modul, ikke kun uri.
Hvordan bruger man en proxy med Ansible uri?
Indstil miljøet på opgaven: environment: { http_proxy: "http://proxy:8080", https_proxy: "http://proxy:8080" }. Eller indstil det globalt i ansible.cfg eller group_vars. uri-modulet respekterer standard proxy-miljøvariabler. For no-proxy undtagelser: no_proxy: "localhost,.internal".
Hvordan sender man en POST-anmodning med JSON-body i Ansible?
Konverter en curl POST-kommando som curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL til Ansible ved hjælp af curl2code. Den genererede kode bruger ansible.builtin.uri: url: '{'{ url }'}' method: POST body_format: json body: '{'{ data }'}'. curl2code registrerer automatisk -d/--data-flag med JSON-indhold og indstiller den relevante Content-Type-header i uri-modulets kode.
Hvordan tilføjer man Bearer token-autorisation i Ansible?
Send curl -H "Authorization: Bearer YOUR_TOKEN" URL til curl2code, og den genererer uri-modulets kode med auth-headeren: headers: Authorization: 'Bearer YOUR_TOKEN'. curl2code registrerer Bearer-tokens fra både -H "Authorization: Bearer ..." og --oauth2-bearer-flag. Til Basic auth skal du bruge -u user:pass.
Hvordan indstiller man Content-Type-headeren i Ansible?
curl2code konverterer curl -H "Content-Type: application/json" URL til uri-modulets kode med den korrekte header: body_format: json. For -d-data bruger curl som standard application/x-www-form-urlencoded; for -F-formular-uploads bruges multipart/form-data. curl2code mapper hver af disse til den korrekte uri-modul API.