בעיה בשליחת API
-
שלום וברכה.
יש לי שגיאה משונה במחשב....
יש לי כתובת לשליחת בקשת API - GET, וכשאני שולח אותה בדפדפן חוזרת שגיאה 500 Internal Server Error.
אבל אם אני שולח את אותה בקשה בדיוק דרך VBA באקסס או דרך postman זה עובד מצוין.
חפרתי קצת בpostman וגיליתי שכשאני שולח דרך הדפדפן נשלח גם Headers בשם Accept עם הערך הזה:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
אבל בpostman הוא לא נשלח, ואם אני מוסיף אותו ידנית לpostman חוזרת שגיאה כנ"ל.
א. מה אומר הפרמטר הזה? וב. איך אני דואג שהוא לא יישלח גם בדפדפן?
ניסיתי לנקות מטמון או עוגיות וזה לא עזר.
תודה רבה! -
@ivrtikshoret פשוט מכניס כתובת url
-
@ivrtikshoret זה הקישור שלי
https://kesherhk.info/ConnectToKesher/ConnectToKesher?userName=XXXXXXXX&password=XXXXXXXXXXXX&func=GetTrans&fromDate=02/15/2023&toDate=02/15/2023&format=json
בדפדפן אני אכן מכניס את הכתובת url למעלה בשורת החיפוש.
גם בpostman (ובקוד VBA) אני שולח דרך GET.
זה מה שנשלח בדפדפן:
וזה מה שאני מקבל חזרה
<Error> <Message>An error has occurred.</Message> </Error>
ניסיתי לשחק בpostman עם הנתונים, ורק כשהכנסתי גם את הערך של Accept חזרה שגיאה.
תודה. -
Function SendRequest() Dim URL As String Dim objXmlHttp As Object Dim strRet As String Set objXmlHttp = CreateObject("MSXML2.XMLHTTP") URL = "https://kesherhk.info/ConnectToKesher/ConnectToKesher?userName=XXXXXXX&password=XXXXXXXXXXX&func=GetTrans&fromDate=02/18/2023&toDate=02/20/2023&format=json" objXmlHttp.Open "GET", URL, False objXmlHttp.send Debug.Print objXmlHttp.ResponseText objXmlHttp.abort Set objXmlHttp = Nothing End Function
הקוד הזה עובד מצוין.