اعتقد ان رمز الخطأ 500 يعنى انه لايمكن الوصول الى الملف ... طريقه جيده للمنع
كيف يعرف انك استخدمت دالة file في جلب الملف ؟
هذه الداله لا ترسل اي شيء سوى امر طلب الملف GET ... اي لا يوجد اللغة او المتصفح الذي تستخدمه والكثير من البينات ... ويكون السرفر في حاجه اليها ... واذا لم يجدها يرسل هذه الخطأ .
كيف تتغلب على هذه المشكلة ؟
عليك ان ترسل ما يحتاجه الموقع من بينات ... مثل User-Agent اهم شيء .
دالة بسيطه تفي بالغرض المطلوب
كود PHP:
<?php
function open_url($host,$url){
$fp = fsockopen($host, 80);
$out ="GET $url HTTP/1.1\r\n";
$out .="Host: $host\r\n";
$out .="User-Agent: Firefox/2.0\r\n";
$out .="Accept-Encoding: gzip,deflate\r\n";
$out .="Accept: text/html\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
$data .=fgets($fp, 128);
}
fclose($fp);
return($data);
}
print open_url("www.tadawul.com.sa","/wps/portal/!ut/p/_s.7_0_A/7_0_49S");
print open_url("www.aleqt.com","/stocks/currency.php");
صفحة تداول تتاكد من نوع المتصفح والبينات التى يستقبلها...
صفحة جريدة الاقتصادية تطلب نوع التشفير ... اي هل يقبل البينات مضغوطه ام لا ... اذا كان يقبل ترسل لك الصفحه مضغوطه يجب عليك فك الضغط لكي تعرضها بشكل سليم ...
لاحظ ايضا ان الناتج يعرض البينات مع الراس المرسل ..