קוד PHP שהכנתי לקבלת והדפסת הטוקן העדכני של המערכת שלכם.
-
הכנתי קוד PHP שדרכו אפשר לקבל את הטוקן העדכני למערכת שלכם.
בקריאה לקוד הוא בודק האם נשמר בשרת שלכם טוקן ב-30 דקות האחרונות.
אם נשמר הוא מדפיס את הטוקן שנשמר.
אם לא הוא מקבל טוקן חדש ומדפיס אותו.
לאחר שהוא מקבל טוקן הוא שומר אותו בשרת שלכם בקובץ בשםtoken.
וכן הוא שומר בשרת שלכם בקובץ בשםtoken_dateאת התאריך והשעה של יצירת הטוקן, לצורך בדיקה בבקשות הבאות האם עבר 30 דקות מקבלת הטוקן הקודם.
כמובן שצריך לשנות את מספר המערכת והסיסמה בשורות 3 ו- 5.
דוגמה לשימוש בקוד לגוגל סקריפט/שיטס כאן.
זה הקוד:<?php //מספר המערכת $username = "0773137777"; //סיסמת הניהול $password = "123456"; //כתובת השרת של ימות $url = "https://www.call2all.co.il/ym/api/Login?username=" . $username . "&password=" . $password; //הקובץ לשמירת הטוקן $tokenFile = "token"; //הקובץ לשמירת התאריך והשעה של העדכון האחרון של הטוקן $dateFile = "token_date"; // פונקציה לקבלת טוקן חדש function getNewToken($url, $tokenFile, $dateFile) { // שליחת בקשת GET $curl = curl_init($url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($curl); curl_close($curl); // בדיקת תשובה תקינה if ($response === false) { die("שגיאה בשליחת בקשת GET"); } // פענוח תשובה בפורמט JSON $data = json_decode($response, true); // בדיקת פיענוח תקין של JSON if (is_null($data)) { die("שגיאה בפיענוח תשובה בפורמט JSON"); } // שמירת הטוקן ותאריך העדכון file_put_contents($tokenFile, $data['token']); $now = new DateTime('now', new DateTimeZone('Israel')); $dateString = $now->format('Y-m-d H:i:s'); file_put_contents($dateFile, $dateString); // הדפסת הטוקן החדש echo $data['token']; } // בדיקת האם יש טוקן תקף if (file_exists($tokenFile) && file_exists($dateFile)) { $lastTokenDate = file_get_contents($dateFile); $lastTokenDateTime = new DateTime($lastTokenDate, new DateTimeZone('Israel')); $now = new DateTime('now', new DateTimeZone('Israel')); // חישוב הפרש הזמן בדקות $interval = $now->getTimestamp() - $lastTokenDateTime->getTimestamp(); $minutesPassed = $interval / 60; // בדיקה האם הטוקן פג תוקף if ($minutesPassed >= 30 || !preg_match('/^(?=.*[a-z])(?=.*[A-Z])[a-zA-Z\d]{16}$/', file_get_contents($tokenFile))) { getNewToken($url, $tokenFile, $dateFile); } else { echo file_get_contents($tokenFile); } } else { // קבלת טוקן חדש אם אין קבצים קיימים getNewToken($url, $tokenFile, $dateFile); } ?> -
ה הרב מחק נושא זה ב
-
ה הרב שחזר נושא זה ב
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות