שליחת בקשת GET לאתר דרך POSTMAN מחזירה 403
-
שלום וברכה
אני צריך לסרוק תוכן של אתר בורסה כדי לשאוב ממנו נתון מסויים
משום מה ישנם דפים מסויימים שמחזירים 403 כשאני שולח להם בקשה שהיא לא דפדפן (דרך POSTMAN)
ניסתי להוסיף header של דפדפן (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.9999.99 Safari/537.36) אבל זה עדיין מחזיר 403
זה הקישור הרלוונטי https://il.investing.com/crypto/
אשמח לעזרה והכוונה כיצד להתגבר על החסימה
תודה! -
@מומחה-באקסס
תנסה לשלוח כCURL -
ניסיתי (באמצעות PHP) ומתרחש משהו מוזר
לא חוזרת שגיאה, אבל ה URL משתנה למשהו אחר וחוזר
בכותרת של הכרטיסיה למעלה מופיע just a moment.. -
@מומחה-באקסס אני אמנם בור בתחום אבל נשמע שהם משתמשים במנגנון חוסם בוטים שחוסם אותך
-
מסתבר.. ולכן ביקשתי עזרה כיצד להתגבר על החסימה
יש לציין שבדפים אחרים (שמציגים פחות או יותר אותו סוג נתונים) לא קיימת חסימה -
@מומחה-באקסס נראה שזה של cloudflare ואני לא חושב שיש אפשרות לעקוף אבל אדרבה
נראה אם מישהו פה ידע -
@dovid כתב בשליחת בקשת GET לאתר דרך POSTMAN מחזירה 403:
בPHP אני מבין שאתה שולח את הפלט ישר ללקוח ואז הסקריפטים רצים, אם אתה תנתח את התוכן אני חושב שלא יחסר לך משהו.
לא הבנתי מה התכוונת, אשמח אם תפרט יותר
זה הקוד הרלוונטי:<?php $url = 'https://il.investing.com/crypto/bitcoin'; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($curl); if (curl_errno($curl)) { echo curl_error($curl); } curl_close($curl); echo $response; ?>
תודה!
-
תנסה ככה
<?php //זה כדי לבטל את הסקריפטים שלא ירוצו בכלל header("Content-Security-Policy: script-src 'none'"); $url = 'https://il.investing.com/crypto/bitcoin'; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"); $response = curl_exec($curl); if (curl_errno($curl)) { echo curl_error($curl); } curl_close($curl); //זה כדי שהנתיבים יהיו מוחלטים ולא יחסיים echo preg_replace("/(["'])\/+/", "$1https://ca.investing.com/" , $response ); ?>
-
@מומחה-באקסס כתב בשליחת בקשת GET לאתר דרך POSTMAN מחזירה 403:
ניסיתי (באמצעות PHP) ומתרחש משהו מוזר
למה עם PHP?
יש CLI.
אחרי שאתה מצליח עם הCLI תתחיל לנסות לשלב עם PHP וכדו'