Closed Baft closed 2 years ago
سلام، من همین لحظه تست کردم مشکلی ندارم، این فراخوانی که انجام می دهید در مرورگر هست یا محیط node.js ؟ توجه داشته باشید چند روزی هست سایت بورس با vpn باز نمی شود، خیر این وب سرویس ها پولی نیستند.
از طریق مرورگر انجام میدم . با php پروکسی کردم. هم اکنون این حظا را میدهد.
دسترسی شما بدلیل مسائل امنیتی مسدود شده است.
لطفا با پشتیبانی تماس بگیرید : 02184301338
URL: http://service.tsetmc.com/tsev2/data/TseClient2.aspx?t=InstrumentAndShare&a=20220629&a2=0
با متد file_get_content خطا مفهومی نمیده و من تابغ رو با کد زیر جایپزین کردم که برگشتی سایت رو میشه واضحتر در قسمت کنسول مرورگر دید
function curl_get_contents($url)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
//echo file_get_contents("http://service.tsetmc.com/tsev2/data/TseClient2.aspx?t=$t&a=$a&a2=$a2");
print curl_get_contents("http://service.tsetmc.com/tsev2/data/TseClient2.aspx?t=$t&a=$a&a2=$a2");
البته فقط ادرسی که خدمتتون ذکر کردم این پیغام را میدهد. مثلا ادرس tseProxy.php?t=Instrument&a=0 این خطا را نمیدهد. همچنین وقتی که مستقیما از مرورگر فراخوانده میشود هم 403 نمیده . الان متوجه شدم که از سمت php فراخوانده میشه 403 میده !!!
همچنین تست رو از طریق simple-dashboard.html دارم انجام میدم.
متشکرم
تابع curl رو در کدphp به روش زیر بروزرسانی کردم و مشکل حل شد . در واقع سایت فراخوانی های رو که کمتر شبیه به fingerprint های معمول هست بلاک میکنه.
function curl_get_contents($url)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0');
curl_setopt($ch, CURLOPT_ENCODING , 'gzip, deflate');
curl_setopt($ch, CURLOPT_HTTPHEADER , array(
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language: en-US,en;q=0.5',
'Connection: keep-alive',
'Upgrade-Insecure-Requests: 1'));
curl_setopt($ch, CURLOPT_URL,$url);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
متشکرم از برنامه زیبایی که تهیه کردین . واقعا متفاوت از کارهای دیگه ایی بود که در این زمینه وجود داره.
من الان در همون simple-dashboard.html
یک مثال درست کردم، با یک پروکسی سرور در محیط node.js، و به این پیغام بر نخوردم،
اگر در این پروکسی جاواسکریپتی هم به همین خطا می خوردم متقاعد می شدم ایراد در وب سرویسه هست، به خاطر همین احتمالم اینه این پر
وکسی که توسط curl هست یه جاییش یه اتفاقی داره میوفته
شما این فولدر رو اکسترکت کنین،
nodeproxy.zip
بعد برین داخلش cd nodeproxy
بعد بزنین npm install
بعد بزنین node index.js
بعد این لاین رو به اول simple-dashboard.html
اضافه کنین، (داخل تگ اسکریپت آخر)
tse.API_URL = 'http://localhost:3000/';
حالا یه رفرش بدین و تب network رو ببینین اون وب سرویس 200 میده
خب خدا رو شکر، (در حال نوشتن بودم ندیدم پیام های جدید رو)
تشکر از لطف شما.
وقتتون بخیر . وقتی آدرس زیر فراخوانده میشه ، خطای 403 دریافت میشه. آیا سرویسی که فراخوانده میشه پولی هست؟ یا اینکه اشتباهی در فراخوانی صورت میگیره؟ API_URL?t=InstrumentAndShare&a=20220629&a2=0