על-ידי שימוש בפקודות מאקרו, ניתן לשלוח נתונים לשרת HTTPs בכל עת שתרצו. באפשרותך לבחור אילו נתונים לשלוח ולבנות אותם כפי שאתה אוהב. בכך שתעשה זאת כך, תוכל להתאים את הנתונים לשירות שכבר התבסס.

אמצעי אבטחה:

  • התכונה ' בקשת לקוח HTTPs ' אינה זמינה כברירת מחדל. מנהל מערכת חייב להפעיל את התכונה באופן מפורש על-ידי הגדרת HttpClient > מצב מופעל ( xConfiguration HttpClient מצב: on ).

  • מנהל המערכת יכול למנוע את השימוש ב-HTTP על-ידי הגדרת HttpClient > AllowHTTP ל -false ( xConfiguration HttpClient AllowHTTP: false ).

  • למנהל המערכת יש אפשרות לציין רשימה של שרתי HTTPs שההתקן מורשה לשלוח אליהם נתונים. (ראה הxCommand HttpClient אפשר פקודות מארח ).

  • מספר הבקשות בו ב-HTTPs מוגבל.

התצורות המיוחסות במאמר זה, זמינות הן מממשק האינטרנט של ההתקן והן בAPI. פקודות זמינות בAPI. קרא את המאמר הגדרות מתקדמות לקבלת מידע כיצד לגשת לממשק האינטרנט ולהשתמש בAPI.

רשימת שרתי HTTPs מורשים

מנהל המערכת יכול להשתמש בפקודות אלה כדי להגדיר ולתחזק רשימה של עד עשרה שרתי HTTPs מורשים (מארחים):

  • xCommand HttpClient לאפשר למארח להוסיף ביטוי: < ביטוי רגיל שתואם לשם המארח או לכתובת הIP של שרת ה-HTTPs >

  • xCommand HttpClient אפשר למארח להבהיר

  • xCommand HttpClient מאפשר רשימת מארח

  • xCommand HttpClient מתן אפשרות להסרת מזהה מארח: מזהה < של ערך ברשימה >

אם הרשימה אינה ריקה, ניתן לשלוח בקשות HTTPs רק לשרתים שברשימה. אם הרשימה ריקה, ניתן לשלוח את הבקשות לשרת HTTPs כלשהו.

הבדיקה מול רשימת השרתים המורשים מתבצעת הן בעת שימוש בהעברה לא מאובטחת (HTTP) ובהעברת נתונים מאובטחת (HTTPS).

HTTPS ללא אימות אישור

בעת שליחת בקשות לפני HTTPS, ההתקן בודק את האישור של שרת ה-HTTPS כברירת מחדל. אם האישור של שרת HTTPS אינו מתגלה כחוקי, מתקבלת הודעת שגיאה. ההתקן אינו שולח נתונים לשרת זה.

אנו ממליצים להשתמש ב-HTTPS עם אימות האישור. אם אימות האישור אינו אפשרי, מנהל המערכת יכול להגדיר את HttpClient > AllowInsecureHTTPS לפעיל ( xConfiguration HttpClient AllowInsecureHTTPS: on ). הדבר מאפשר להשתמש ב-HTTPS מבלי לאמת את אישור השרת.

שליחת בקשות HTTPs

לאחר הפעלת התכונה ' בקשת לקוח HTTPs ', ניתן להשתמש בפקודות הבאות לשליחת בקשות לשרת HTTPs. < שיטה > הוא לכתוב , לשים , לתקן , לקבל או למחוק .

  • xCommand HttpClient < שיטת > [AllowInsecureHTTPS: < True/False >] [כותרת: < טקסט כותרת >] [ResponseSizeLimit: < מקסימום גודל תגובה >] [ResultBody: < ללא/טקסט רגיל/Base64 >] [פסק זמן: < תקופת זמן קצוב >] כתובת Url: < URL כדי לשלוח את הבקשה ל>

הוספת שדות כותרת היא אופציונלית, אך ניתן להוסיף עד 20 שדות.

לפרמטר AllowInsecureHTTPS יש אפקט רק אם מנהל המערכת התיר את השימוש ב-HTTPS מבלי לאמת את אישור השרת. אם כן, באפשרותך לשלוח נתונים לשרת מבלי לאמת את אישור השרת אם הפרמטר מוגדר כ -True . אם אתה משמיט את הפרמטר או מציב אותו כ -False , הנתונים לא נשלחים אם אימות האישור נכשל.

הפרמטר ResposenSizeLimit הוא גודל התוכן המרבי (בתים) שההתקן מקבל כתגובה מהשרת. אם מנת התוכן של התגובה גדולה מהגודל המרבי הזה, הפקודה מחזירה שגיאת מצב. הודעת השגיאה כתוב כי יש חריגה מגודל הקובץ המרבי. עם זאת, לפעולה זו אין השפעה בצד השרת; השרת קיבל ועיבד את הבקשה כהלכה.

השתמש בפרמטר ResultBody כדי להחליט כיצד לעצב את הגוף של תגובת ה-HTTP מהשרת בתוצאת הפקודה. יש לך שלוש אפשרויות:

  • None : אל תכלול את הגוף של תגובת ה-HTTP בתוצאת הפקודה.

  • Base64 : base64 לקודד את הגוף לפני הכללת אותו בתוצאה.

  • טקסט רגיל : כלול את הגוף בתוצאה כטקסט רגיל. אם התגובה כוללת אותיות שאינן ניתנות להדפסה, הפקודה מחזירה שגיאת מצב עם הודעה המציינת שאירעו נתונים שאינם ניתנים להדפסה.

השתמש בפרמטר ' פסק זמן ' כדי להגדיר תקופת זמן קצוב (שניות). אם הבקשה לא הושלמה במהלך תקופה זו, הAPI מחזירה שגיאה.

הזן את תוכן המנה (נתונים) ישירות לאחר שהנפיקת את הפקודה. כל דבר שתזין, כולל מעברי שורה, הוא חלק ממנה. כאשר סיימת, סיים עם מעבר קו ("\n") ושורה נפרדת המכילה רק נקודה ולאחריו מעבר שורה (".\n"). כעת הפקודה מתבצעת והנתונים נשלחים לשרת.

דוגמאות

גוף ההודעה הוא JSON בשתי הדוגמאות הללו. זו יכולה להיות כל תבנית, בהתאם לתבנית הצפויה של השירות שמקבל את ההודעות.

דוגמה 1: שליטה הרבה בהתקן באמצעות HTTP Post

להלן פונקציית מאקרו ההופכת אור המחובר לגשר גוון של פיליפס:

 פונקציה hue_command (נתונים) {var כתובת url = ' http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state '; כותרות var = ' תוכן-סוג: יישום/json '; הפקודה var = ' {' on ': true} '; xapi. command (' HttpClient Put ', {' כתובת Url ': כתובת url, ' כותרת ': כותרות}, פקודה);} 

ניתן לבצע את אותו הדבר בשורת הפקודה באמצעות הAPI:

 xcommand HttpClient לשים את הכותרת: "תוכן-סוג: יישום/json" כתובת: "http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state" {"on": true}. 

דוגמה 2: רישום נתונים לכלי ניטור באמצעות HTTP Post

 xcommand HttpClient לכתוב כותרת: "תוכן-סוג: יישום/json" כתובת: "https://mymonitoringserver.com/service/devicemonitoring" {"הודעה": "משתמש דיווח על בעיה עם המערכת", "systemName": "קומה רביעית", "softwareVersion": "לסה נ 9.6.0", "softwareReleaseDate": "2018-12-13", "videoMonitors": "כפול"}. 

מידע נוסף

מצא עוד פרטים על אופן השימוש בבקשות לקוח HTTP במדריך ההתאמה האישית . בחר את הגירסה העדכנית ביותר.

Cisco support (TAC) אינו תומך באיתור באגים של קוד צד שלישי, כולל פקודות מאקרו. אנא בדוק את קהילת מפתח שיתוף הפעולה של Cisco אם אתה זקוק לעזרה עם פקודות מאקרו וקוד של צד שלישי. כמו כן, קיימים משאבי מפתחים ומשולבים רבים באתר זה.