דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. API לקבלת שערי מט"ח

API לקבלת שערי מט"ח

מתוזמן נעוץ נעול הועבר תכנות
21 פוסטים 4 כותבים 531 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ש מנותק
    ש מנותק
    ש.ב.ח.
    כתב ב נערך לאחרונה על ידי
    #1

    אני מנסה לגשת לAPI הזה של בנק ישראל
    https://www.boi.org.il/he/Markets/Pages/explainxml.aspx

    אבל מקוד זה לא עובד
    מה פספסתי?

    async function gett(){
        const apiCur = `http://www.boi.org.il/currency.xml?curr=01`;
    
        let response = await fetch(apiCur);
    
        let result = await response.json();
    
        console.log(result);
    }
    
    dovidD תגובה 1 תגובה אחרונה
    1
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      השיב לש.ב.ח. ב נערך לאחרונה על ידי
      #2

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

      @ש-ב-ח אמר בAPI לקבלת שערי מט"ח:

      אבל מקוד זה לא עובד

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

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      dovidD ש 2 תגובות תגובה אחרונה
      5
      • dovidD מנותק
        dovidD מנותק
        dovid ניהול
        השיב לdovid ב נערך לאחרונה על ידי dovid
        #3

        אוקי בא אספר לך בינתיים איך התקדמתי בבעיה.
        לקחתי את הקוד שלך ופתחתי את הקונסול של הדפדפן והדבקתי (בתוספת שורה שמפעילה את הפונקציה).
        קיבלתי שגיאה ארוכה של Mixed Content שאומרת שאני מנסה לגשת לhttp מתוך דף מאובטח של https.
        אז התקדמתי, ושיניתי בקוד שלך לhttps והרצתי שוב, וקיבלתי שגיאה ארוכה לא פחות של CORS policy, כלומר אתר תחומים לא מורשה לגשת לבנק ישראל.
        אז הלכתי לאתר בנק ישראל ומשמה פתחתי את הקונסול והרצתי, ושמה קיבלתי שגיאה שקשורה לJSON - התוכן מתחיל בתו לא צפוי שהוא <.
        הסתכלתי בNetwork לראות איך נראית התשובה, והנה היא XML! בטח הרי זה כתוב מפורש בכתובת currency.xml רק שלא שמתי לב.
        טוב אז אני יודע לענות לך בפורום שהבעיה היא שזה לא JSON.

        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

        בכל נושא אפשר ליצור קשר dovid@tchumim.com

        תגובה 1 תגובה אחרונה
        8
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          כתב ב נערך לאחרונה על ידי
          #4

          שו"ר ש@yossiz כבר ענה על השאלה פה:
          https://tchumim.com/topic/9348

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          תגובה 1 תגובה אחרונה
          2
          • ש מנותק
            ש מנותק
            ש.ב.ח.
            השיב לdovid ב נערך לאחרונה על ידי ש.ב.ח.
            #5

            @dovid אמר בAPI לקבלת שערי מט"ח:

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

            בשביל זה גם ניסיתי הכל וגם אני נתקלתי בcros...
            (חשוב להדגיש שבאתר הבנק הכתובת מופיעה HTTP ולא HTTPS, לא שזה ראיה גדולה...)
            וכבר הבנתי שהבנק לא מרשה...

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

            בכל מקרה לא הבנתי מה כתב @yossiz ב
            @yossiz אמר בjs- שימוש ב fetch לקובץ xml:

            @ב-ל צודק, כנראה שזה לא מיועד לשימוש בצד לקוח (או שהם עדיין לא שמעו על CORS...)

            האם בצד שרת זה כן יעבוד?

            yossizY תגובה 1 תגובה אחרונה
            0
            • yossizY מנותק
              yossizY מנותק
              yossiz
              השיב לש.ב.ח. ב נערך לאחרונה על ידי
              #6

              @ש-ב-ח מדיניית ה-CORS מואכפת רק בדפדפן - לא בשרת.

              📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

              ש 2 תגובות תגובה אחרונה
              1
              • ש מנותק
                ש מנותק
                ש.ב.ח.
                השיב לyossiz ב נערך לאחרונה על ידי
                #7

                @yossiz אמר בAPI לקבלת שערי מט"ח:

                @ש-ב-ח מדיניית ה-CORS מואכפת רק בדפדפן - לא בשרת.

                (יש לי עוד הרבה מה ללמוד, זה כנראה יקח זמן, אתם (גם @dovid ) תצטרכו לעזור לי להשלים את הפער... 🙂 )
                תודה על הכל!

                תגובה 1 תגובה אחרונה
                2
                • ש מנותק
                  ש מנותק
                  ש.ב.ח.
                  השיב לyossiz ב נערך לאחרונה על ידי
                  #8

                  @yossiz
                  גם מצד שרת הוא לא נותן
                  הוא מחזיר 404 😞

                  האם ידוע API אחר לבדיקת שערים?

                  chvC yossizY dovidD 3 תגובות תגובה אחרונה
                  0
                  • chvC מנותק
                    chvC מנותק
                    chv
                    השיב לש.ב.ח. ב נערך לאחרונה על ידי
                    #9

                    @ש-ב-ח זה הכי טוב - חינמי - מהיר
                    עדכני (אאלט כל חצי שעה זה מתעדכן)
                    https://www.currencyconverterapi.com/

                    מחזיר JSON. עובד גם בצד לקוח כמובן (הרשאת CORS)

                    בלוג | מייל

                    תגובה 1 תגובה אחרונה
                    0
                    • yossizY מנותק
                      yossizY מנותק
                      yossiz
                      השיב לש.ב.ח. ב נערך לאחרונה על ידי
                      #10

                      @ש-ב-ח כנראה שעשית משהו לא נכון.
                      הרצתי משרת:

                      curl https://www.boi.org.il/currency.xml?curr=01
                      

                      וקיבלתי במענה:

                      <?xml version="1.0" encoding="utf-8" standalone="yes"?>
                      <CURRENCIES>
                        <LAST_UPDATE>2021-03-15</LAST_UPDATE>
                        <CURRENCY>
                          <NAME>Dollar</NAME>
                          <UNIT>1</UNIT>
                          <CURRENCYCODE>USD</CURRENCYCODE>
                          <COUNTRY>USA</COUNTRY>
                          <RATE>3.309</RATE>
                          <CHANGE>-0.211</CHANGE>
                        </CURRENCY>
                      </CURRENCIES>
                      

                      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                      ש תגובה 1 תגובה אחרונה
                      0
                      • dovidD מנותק
                        dovidD מנותק
                        dovid ניהול
                        השיב לש.ב.ח. ב נערך לאחרונה על ידי
                        #11

                        @ש-ב-ח אמר בAPI לקבלת שערי מט"ח:

                        @yossiz
                        גם מצד שרת הוא לא נותן

                        המילים "לא נותן" "לא עובד", לא נסבלים.
                        תכתוב מה התוצאה, מה השגיאה מה הפלט.

                        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                        בכל נושא אפשר ליצור קשר dovid@tchumim.com

                        ש תגובה 1 תגובה אחרונה
                        1
                        • ש מנותק
                          ש מנותק
                          ש.ב.ח.
                          השיב לdovid ב נערך לאחרונה על ידי
                          #12

                          @dovid אמר בAPI לקבלת שערי מט"ח:

                          המילים "לא נותן" "לא עובד", לא נסבלים.
                          תכתוב מה התוצאה, מה השגיאה מה הפלט.

                          @ש-ב-ח אמר בAPI לקבלת שערי מט"ח:

                          הוא מחזיר 404

                          dovidD תגובה 1 תגובה אחרונה
                          1
                          • dovidD מנותק
                            dovidD מנותק
                            dovid ניהול
                            השיב לש.ב.ח. ב נערך לאחרונה על ידי
                            #13

                            @ש-ב-ח תצרף קוד ותציין בדיוק איך אתה מריץ אותו (שרת, מחשב, דפדפן).

                            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                            בכל נושא אפשר ליצור קשר dovid@tchumim.com

                            ש תגובה 1 תגובה אחרונה
                            0
                            • ש מנותק
                              ש מנותק
                              ש.ב.ח.
                              השיב לyossiz ב נערך לאחרונה על ידי
                              #14

                              @yossiz אמר בAPI לקבלת שערי מט"ח:

                              וקיבלתי במענה:

                              אכן ככל הנראה הבעיה היא בפונקציה בה אני משתמש
                              אני משתמש ב wp_remote_get

                              אבל אני לא יודע מאיפה להתחיל כדי לבדוק מה הבעיה
                              אני מנסה לחפש...

                              yossizY תגובה 1 תגובה אחרונה
                              0
                              • yossizY מנותק
                                yossizY מנותק
                                yossiz
                                השיב לש.ב.ח. ב נערך לאחרונה על ידי
                                #15

                                @ש-ב-ח בדקת ב-https?

                                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                                תגובה 1 תגובה אחרונה
                                0
                                • ש מנותק
                                  ש מנותק
                                  ש.ב.ח.
                                  השיב לdovid ב נערך לאחרונה על ידי ש.ב.ח.
                                  #16

                                  @dovid
                                  כך:

                                  $res = wp_remote_get('https://www.boi.org.il/currency.xml?curr=01');
                                  print_r($res);
                                  

                                  בשרת (מנסה להציג את התוצאה בדף)

                                  @yossiz אמר בAPI לקבלת שערי מט"ח:

                                  @ש-ב-ח בדקת ב-https?

                                  בוודאי

                                  תגובה 1 תגובה אחרונה
                                  2
                                  • ש מנותק
                                    ש מנותק
                                    ש.ב.ח.
                                    כתב ב נערך לאחרונה על ידי ש.ב.ח.
                                    #17

                                    למשל עם הפונקציה הפשוטה של PHP זה עובד חלק

                                    simplexml_load_file('https://www.boi.org.il/currency.xml');
                                    

                                    מה לא עלינו לא טוב לו עם wp_remote_get()?
                                    (נכון, אני יכול להסתדר עם הפונקציה הזאת של PHP אבל אני סקרן נורא לדעת מה לא טוב בפונקציה של WP)

                                    yossizY תגובה 1 תגובה אחרונה
                                    2
                                    • yossizY מנותק
                                      yossizY מנותק
                                      yossiz
                                      השיב לש.ב.ח. ב נערך לאחרונה על ידי
                                      #18

                                      @ש-ב-ח הנה התשובה 😉

                                      wp_remote_get('https://www.boi.org.il/currency.xml?curr=01', ['user-agent' => 'me']);
                                      

                                      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                                      dovidD תגובה 1 תגובה אחרונה
                                      2
                                      • dovidD מנותק
                                        dovidD מנותק
                                        dovid ניהול
                                        השיב לyossiz ב נערך לאחרונה על ידי
                                        #19

                                        @yossiz אולי תענה גם לו
                                        https://wordpress.stackexchange.com/q/341706
                                        ...

                                        אני מייד חשבתי בכיוון כזה אבל simplexml_load_file קובע בלי שהתבקש user_agent?
                                        וcurl גם?

                                        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                        בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                        yossizY 2 תגובות תגובה אחרונה
                                        0
                                        • yossizY מנותק
                                          yossizY מנותק
                                          yossiz
                                          השיב לdovid ב נערך לאחרונה על ידי yossiz
                                          #20

                                          @dovid אני הבנתי שהם בפירוש חוסמים ה-user-agent של וורדפרס. (יש להם user-agent בברירת מחדל שזה משהו כמו Wordpress/your-version; http://your-site)

                                          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                                          תגובה 1 תגובה אחרונה
                                          2

                                          • 1
                                          • 2
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

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