مشکل در دریافت نتایج آزمون سراسری توسط کد php از راه دور !

NabiKAZ

Well-Known Member
برادر نبی سپاسگذار از لطف شما لطف کنید پکیج اسکریپت رو در پست اول Attache کنید اینطوری یه مقدار دور از حرفه ای گری هست
میتونید لینک منبع رو در قسمت زیرین پست خودتون قرار بدید

دوستانی که استفاده کردند و نتیجه گرفتند حتما اعلام کنند

اگه لیستی از نام چند داوطلب رو بصورت حقیقی بزارید تا تست بشه خیلی خوبه

سلام و تشکر از لطفتون.
در ابتدا هدف از زدن این تاپیک رفع یه اشکال در برنامه بود نه معرفی برنامه . به همین خاطر پست اول با یه سوال شروع شده. ولی بعد که برنامه تکمیل شد دیگه تاپیک نزدم و همینجا برنامه رو معرفی کردم. اگر لینک به همین صورت باشه شاید بهتر باشه چون کاربر توضیحات هم میبینه و البته لینک برنامه خیلی واضح همونجا قرار داره.

اسامی چند نفری رو دارم ولی شاید صحیح نباشه عمومی اعلام بشه، باید ببخشید. احتمالا تمام دوستان اطرافشون چند نفری رو دارند که کنکوری باشند....

تشکر
نبی
 

NabiKAZ

Well-Known Member
نبي جون مال دانشگاه آزادش رو هم رديف ميكردي . ما هم چنان منتظريم .

دارم روی آزاد کار میکنم ولی بد جوری پیچوندم!
بی انصاف معلوم نیست چیکار کرده...
حالا عمده کار انجام شده ولی یه مشکل کوچیک هست که بد نیست همینجا مطرح کنم شاید پیشکسوتان بتونن راهنمایی کنند.

ساده و به صورت مثال عرض میکنم.

یه فایل php شماره یک داریم که با header ("location به فایل شماره دو فرستاده میشه.
وقتی با http_request محتوای این فایل شماره یک رو میگیریم هیچ مقداری رو برنمیگردونه که تقریباً طبیعی هم هست. ولی اگر هدر اون رو به خروجی بفرستیم یه location در هدر ظاهر میشه که دربرگیرنده همون url صفحه دوم هست .
حالا چه راهی هست که وقتی محتوای فایل شماره یک رو میگیریم ، صفحه سفید نده ! و محتوای فایل نهایی رو (در این مثل همون فایل شماره دو) رو نشون بده.
شاید اینطور به نظر بیاد که بیایم و مقدار location موجود در هدر فایل اول رو بخونیم و با یه http_request دیگه محتوای فایل دوم رو بخونیم. اما اینکار جواب نمیده یا حداقل در مورد سایت دانشگاه آزاد جواب نداد!
در واقع فکر میکنم باید اینکار قبل از compile شدن فایل صورت بگیره...
امیدوارم تونسته باشم منظور رو برسونم وگرنه که بفرمائید بیشتر توضیح بدم.

تشکر
نبی
 
آخرین ویرایش:

NabiKAZ

Well-Known Member
خب خیلی جالبه که من بعد از هر پرسشی خودم جوابش رو سریع پیدا میکنم. اصلاً باید سوال رو بپرسم تا جوابش به ذهنم برسه !!!
جواب سوال بالا خیلی ساده بود. اینه :
$req->_allowRedirects = true;

اما با وجود اضافه کردن این به برنامه بازهم سایت کنکور آزاد جواب نداد ! باید جای دیگه دنبال رفع اشکال بگردم. ممکنه session یا cookie ست میکنه که در این صورت کار رو سخت میکنه .

در مورد فهمیدن ست کردن مثلا session آیا از همون هدر باید فهمید یا راه دیگه ای سراغ دارید ؟

تشکر
 

iroweb

Member
پاسخ به سوال نبي جون .

خب خیلی جالبه که من بعد از هر پرسشی خودم جوابش رو سریع پیدا میکنم. اصلاً باید سوال رو بپرسم تا جوابش به ذهنم برسه !!!
جواب سوال بالا خیلی ساده بود. اینه :
$req->_allowRedirects = true;

اما با وجود اضافه کردن این به برنامه بازهم سایت کنکور آزاد جواب نداد ! باید جای دیگه دنبال رفع اشکال بگردم. ممکنه session یا cookie ست میکنه که در این صورت کار رو سخت میکنه .

در مورد فهمیدن ست کردن مثلا session آیا از همون هدر باید فهمید یا راه دیگه ای سراغ دارید ؟

تشکر
نبي جون وقتي تمام خروجي رو گرفتي . بيا داخل فايلت اين دوتا كد Php زير رو بزار تا ببيني جلسه يا كوكي اي وجود داره يا نه . البته من خودم امتحان كردم جواب ميده . اگر جلسه يا كوكي وجود داشته باشه به صورت يك آرايه بر ميگردونه . بعد كه فهميدي چي وجود داره اونو با يك هدر بسازش :


PHP:
echo "<pre>";
print_r ($_SESSION);
echo "</pre>";

echo "<pre>";
print_r ($_COOKIE);
echo "</pre>";
 
آخرین ویرایش:

NabiKAZ

Well-Known Member
نبي جون وقتي تمام خروجي رو گرفتي . بيا داخل فايلت اين دوتا كد Php زير رو بزار تا ببيني جلسه يا كوكي اي وجود داره يا نه . البته من خودم امتحان كردم جواب ميده . اگر جلسه يا كوكي وجود داشته باشه به صورت يك آرايه بر ميگردونه . بعد كه فهميدي چي وجود داره اونو با يك هدر بسازش :


PHP:
echo "<pre>";
print_r ($_SESSION);
echo "</pre>";

echo "<pre>";
print_r ($_COOKIE);
echo "</pre>";

خب از پاسخت ممنونم.
اما عزیز ! تو مطمئنی که با http_request کار کردی؟! اصلا میدونی طرز کارش چطوریه ؟!
قضیه به این سادگیا که شما فکر میکنید نیست !
شما که به کدهای php روی سرور سایت دسترسی ندارید. شما فقط میتونید خروجی رو بگیرید، وقتی هم بگیرید دیگه کد php نمیشه بهش چسبوند و همچنین نمیشه متغییرهای توی اون رو print کرد !
یکم بیشتر فکر کن :)

نبی
 

amir01

Well-Known Member
آقا نبی یه سوال در مورد HTTP_Request من وقتی روی لوکال هاست از این کلاس استفاده میکنم مشکلی نداره. ولی وقتی رو هاست آپلود میکنم تو هر صفحه ای که include میکنمش اون صفحه رو هر موقع باز میکنم سفید نشون میده. اگه میشه بگید رو هاست چجوری باید ازش استفاده کنم. ممنون. یاحق
 

NabiKAZ

Well-Known Member
آقا نبی یه سوال در مورد HTTP_Request من وقتی روی لوکال هاست از این کلاس استفاده میکنم مشکلی نداره. ولی وقتی رو هاست آپلود میکنم تو هر صفحه ای که include میکنمش اون صفحه رو هر موقع باز میکنم سفید نشون میده. اگه میشه بگید رو هاست چجوری باید ازش استفاده کنم. ممنون. یاحق
host یا local فرقی نداره.
تا کد رو نبینم نمیتونم نظری بدم.
نمیدونم از سورس من داری استفاده میکنی یا خودت کد نوشتی، در هر صورت توی کدها اگر ابتدای function ها از @ استفاده کردی، اون رو حذف کن و error_reporting هم روی e_all بزار تا همه خطا ها نمایش داده بشه و اشکال رو بهتر پیدا کنی.

نبی
 

amir01

Well-Known Member
کدی که نوشتم اینه :
کد:
$url = '';
$referer = '';

$req = &new HTTP_Request($url);	
$req->setMethod(HTTP_REQUEST_METHOD_POST);
$req->addHeader('Referer', $referer);
$req->addPostData('ipaddresses', $ip);
$req->sendRequest();
$content = $req->getResponseBody();

$start = strpos($content, $ip);
$start += strlen($ip) + 29;
$C = substr($content, $start, 2);

echo $C;
 

NabiKAZ

Well-Known Member
کدی که نوشتم اینه :
کد:
$url = '';
$referer = '';

$req = &new HTTP_Request($url);	
$req->setMethod(HTTP_REQUEST_METHOD_POST);
$req->addHeader('Referer', $referer);
$req->addPostData('ipaddresses', $ip);
$req->sendRequest();
$content = $req->getResponseBody();

$start = strpos($content, $ip);
$start += strlen($ip) + 29;
$C = substr($content, $start, 2);

echo $C;

$url رو وارد میکنی؟
شاید Pear روی سرور نصب نیست.
همه فایلهای جانبی که توی برنامه من بود رو درکنار برنامه کپی کن.
request.php رو include کردی؟!
اگر خروجی سفید میده اینطوری مشخص نمیشه که اشکال از کلاس هست یا از کدهایی که اون پایین اضافه کردی. اول یه url ساده بده مثل سایت یاهو ، کل محتواشو بده به خروجی ، اگر مشکل نداشت پس کلاس رو میتونه پیدا کنه ، وگرنه توی اون چند خط کدی که خودت اضافی کردی دنبال اشکال بگرد.
 

NabiKAZ

Well-Known Member
بخش دوم مقاله حاظر شد:

- استخراج کارنامه های کنکور دانشگاه با HTTP_Request و CURL
- کارنامه های کنکور دانشگاه آزاد
- گریزی بر HTTP_Request و CURL

همه در این مقاله:
http://weblog.nabi.ir/post-11.html

قابل توجه برخی دوستان که در مورد تفاوت های HTTP_Request و CURL پرسیده بودند. و همچنین گفته بودند آیا این برنامه رو با curl هم میشه پیاده سازی کرد؟
پیشنهاد میشه مقاله فوق مطالعه شود.

موفق باشید.
نبی
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا