המרת curl ל-Ansible

curl2code ממיר פקודות curl למשימות Ansible playbook באמצעות מודול ה-uri. ההמרה מתבצעת בדפדפן שלך דרך WebAssembly לפרטיות מלאה. עבור Python, בדוק את ממיר curl ל-Python. עבור PowerShell, ראה curl ל-PowerShell. להלן דוגמאות Ansible מעשיות.

איך להעתיק curl מהדפדפן שלך

  1. 1

    פתח את DevTools

    לחץ על F12 או על Ctrl+Shift+I כדי לפתוח את כלי המפתחים של הדפדפן.

  2. 2

    עבור ללשונית Network

    לחץ על לשונית ה-Network ובצע את הפעולה שמפעילה את בקשת ה-HTTP.

  3. 3

    העתק כ-cURL

    לחץ קליק ימני על הבקשה ← CopyCopy as cURL. לאחר מכן הדבק אותה למעלה.

שאלות נפוצות (FAQ)

מהו מודול ה-uri של Ansible?

מודול ה-uri הוא מודול מובנה ב-Ansible לביצוע בקשות HTTP בתוך playbooks. הוא מטפל ב-GET, POST, PUT, DELETE עם תמיכה בגוף JSON, אימות ואימות קודי סטטוס. אין צורך באוסף נוסף — הוא חלק מ-ansible.builtin. curl2code מייצר YAML של משימת Ansible המשתמשת במודול ה-uri.

מודול uri לעומת get_url לעומת פקודה עם curl — במה להשתמש?

מודול ה-uri מיועד לקריאות API — הוא מחזיר JSON מפוענח ומאמת סטטוס. get_url מיועד להורדת קבצים לדיסק. command: curl הוא anti-pattern — הוא מאבד את ה-idempotency ואת הטיפול בשגיאות. תמיד העדף את uri לאינטראקציות עם HTTP API. לאוטומציה ב-Python, ראה curl ל-Python.

איך מטפלים באימות ב-Ansible?

עבור Bearer: headers: { Authorization: "Bearer {{ token }}" }. עבור Basic auth: השתמש בפרמטרים url_username ו-url_password. אחסן סודות ב-Ansible Vault: ansible-vault encrypt_string. מודול ה-uri תומך גם ב-force_basic_auth: yes לאימות מראש.

איך שולחים נתוני טופס עם Ansible?

עבור גופי JSON: body: {{ data | to_json }} עם body_format: json. עבור form-urlencoded: body_format: form-urlencoded עם body: key=value&key2=value2. העלאות קבצי multipart דורשות את מודול community.general.uri או סקריפט מותאם אישית. curl2code מטפל בהמרות -F.

איך מטפלים בשגיאות במשימות HTTP ב-Ansible?

השתמש ב-register: result עם failed_when: result.status != 200 לתנאי כשל מותאמים אישית. השתמש ב-ignore_errors: yes כדי להמשיך במקרה של כשל. מודול ה-uri נכשל בתגובות שאינן 2xx כברירת מחדל — עקוף זאת עם status_code: [200, 201, 404] כדי לקבל מספר קודי סטטוס.

איך מפענחים תגובות JSON ב-Ansible?

מודול ה-uri מפענח JSON אוטומטית כאשר return_content: yes מוגדר — הגישה היא דרך result.json. השתמש במסנני Jinja2: result.json.users | selectattr('active') | list. לטרנספורמציות מורכבות, השתמש ב-set_fact עם מסננים. רשום (register) תוצאות לשימוש במשימות הבאות.

איך מגדירים timeouts וניסיונות חוזרים ב-Ansible?

הגדר timeout: 30 במשימת ה-uri עבור timeout של הבקשה בשניות. עבור ניסיונות חוזרים: השתמש ב-retries: 3 עם delay: 5 ו-until: result.status == 200. זהו דפוס לולאת ה-retry המובנה של Ansible — אין צורך בסקריפטים מותאמים אישית. עובד עם כל מודול, לא רק uri.

איך משתמשים ב-proxy עם Ansible uri?

הגדר את הסביבה (environment) במשימה: environment: { http_proxy: "http://proxy:8080", https_proxy: "http://proxy:8080" }. או הגדר גלובלית ב-ansible.cfg או ב-group_vars. מודול ה-uri מכבד משתני סביבה סטנדרטיים של פרוקסי. להחרגות ללא פרוקסי: no_proxy: "localhost,.internal".

איך שולחים בקשת POST עם גוף JSON ב-Ansible?

המירו פקודת curl POST כמו curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL ל-Ansible באמצעות curl2code. הקוד שנוצר משתמש ב-ansible.builtin.uri: url: '{'{ url }'}' method: POST body_format: json body: '{'{ data }'}'. curl2code מזהה באופן אוטומטי דגלי -d/--data עם תוכן JSON ומגדיר את כותרת Content-Type המתאימה בקוד של מודול ה-uri.

איך מוסיפים אימות Bearer token ב-Ansible?

העבירו את curl -H "Authorization: Bearer YOUR_TOKEN" URL ל-curl2code והוא יפיק קוד למודול uri עם כותרת האימות: headers: Authorization: 'Bearer YOUR_TOKEN'. curl2code מזהה Bearer tokens גם מדגלי -H "Authorization: Bearer ..." וגם מדגלי --oauth2-bearer. עבור Basic auth, השתמשו ב--u user:pass.

איך מגדירים כותרת Content-Type ב-Ansible?

curl2code ממיר את curl -H "Content-Type: application/json" URL לקוד למודול uri עם הכותרת המתאימה: body_format: json. עבור נתוני -d, curl משתמש כברירת מחדל ב-application/x-www-form-urlencoded; עבור העלאות טפסים עם -F, הוא משתמש ב-multipart/form-data. curl2code ממפה כל אחד מהם ל-API הנכון של מודול ה-uri.

קישורים שימושיים

מדריכי curl

המרת curl לשפות אחרות