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. 1

    Öppna DevTools

    Tryck på F12 eller Ctrl+Shift+I för att öppna webbläsarens utvecklarverktyg.

  2. 2

    Gå till fliken Network

    Klicka på fliken Network och utför åtgärden som utlöser HTTP-begäran.

  3. 3

    Kopiera som cURL

    Högerklicka på begäran → CopyCopy 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.

Användbara länkar

curl-guider

Konvertera curl till andra språk