API לקבלת שערי מט"ח
-
שו"ר ש@yossiz כבר ענה על השאלה פה:
https://tchumim.com/topic/9348 -
@dovid אמר בAPI לקבלת שערי מט"ח:
אם אתה רוצה להתקדם בחיים,
אתה צריך להבין שמה שלא עובד זה מרתק/מקדם לא פחות ממה שכן, ושווה להשקיע מחקר לראות מה בדיוק קורה שמה.בשביל זה גם ניסיתי הכל וגם אני נתקלתי בcros...
(חשוב להדגיש שבאתר הבנק הכתובת מופיעה HTTP ולא HTTPS, לא שזה ראיה גדולה...)
וכבר הבנתי שהבנק לא מרשה...גם ידעתי שככל הנראה בסוף תהיה הבעיה של הJSON רק חיכיתי וציפיתי לראות את השגיאה הזאת עולה (הבנתי שגם לזה אצטרך למצוא פיתרון) אבל כל עוד היא לא עלתה... לא היה לי מה להמשיך.
בכל מקרה לא הבנתי מה כתב @yossiz ב
@yossiz אמר בjs- שימוש ב fetch לקובץ xml:@ב-ל צודק, כנראה שזה לא מיועד לשימוש בצד לקוח (או שהם עדיין לא שמעו על CORS...)
האם בצד שרת זה כן יעבוד?
-
@yossiz אמר בAPI לקבלת שערי מט"ח:
@ש-ב-ח מדיניית ה-CORS מואכפת רק בדפדפן - לא בשרת.
(יש לי עוד הרבה מה ללמוד, זה כנראה יקח זמן, אתם (גם @dovid ) תצטרכו לעזור לי להשלים את הפער...
)
תודה על הכל! -
@ש-ב-ח זה הכי טוב - חינמי - מהיר
עדכני (אאלט כל חצי שעה זה מתעדכן)
https://www.currencyconverterapi.com/מחזיר JSON. עובד גם בצד לקוח כמובן (הרשאת CORS)
-
@ש-ב-ח כנראה שעשית משהו לא נכון.
הרצתי משרת: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> -
@ש-ב-ח אמר בAPI לקבלת שערי מט"ח:
@yossiz
גם מצד שרת הוא לא נותןהמילים "לא נותן" "לא עובד", לא נסבלים.
תכתוב מה התוצאה, מה השגיאה מה הפלט. -
@dovid אמר בAPI לקבלת שערי מט"ח:
המילים "לא נותן" "לא עובד", לא נסבלים.
תכתוב מה התוצאה, מה השגיאה מה הפלט.@ש-ב-ח אמר בAPI לקבלת שערי מט"ח:
הוא מחזיר 404
-
@yossiz אמר בAPI לקבלת שערי מט"ח:
וקיבלתי במענה:
אכן ככל הנראה הבעיה היא בפונקציה בה אני משתמש
אני משתמש ב wp_remote_getאבל אני לא יודע מאיפה להתחיל כדי לבדוק מה הבעיה
אני מנסה לחפש... -
@dovid
כך:$res = wp_remote_get('https://www.boi.org.il/currency.xml?curr=01'); print_r($res); בשרת (מנסה להציג את התוצאה בדף)
@yossiz אמר בAPI לקבלת שערי מט"ח:
@ש-ב-ח בדקת ב-https?
בוודאי
-
למשל עם הפונקציה הפשוטה של PHP זה עובד חלק
simplexml_load_file('https://www.boi.org.il/currency.xml');
מה לא עלינו לא טוב לו עם wp_remote_get()?
(נכון, אני יכול להסתדר עם הפונקציה הזאת של PHP אבל אני סקרן נורא לדעת מה לא טוב בפונקציה של WP) -
@yossiz אולי תענה גם לו
https://wordpress.stackexchange.com/q/341706
...אני מייד חשבתי בכיוון כזה אבל simplexml_load_file קובע בלי שהתבקש user_agent?
וcurl גם? -
@dovid אמר בAPI לקבלת שערי מט"ח:
@yossiz אולי תענה גם לו
https://wordpress.stackexchange.com/q/341706הוא מגדיר user-agent ועדיין לא עובד לו
13/21