PDA

View Full Version : حرفه ای: باز کردن یه url در سمت سرور توسط php



ghiravani
جمعه 27 آبان 1390, 00:54 صبح
سلام دوستان.خسته نباشید

یه برنامه دارم مینویسم که کمک قابلیت corn jobs سرور.برنامه به این صورت هست:

corn jobs رو طوری تنظیم کردیم که 5 روز دیگه ساعت 4 عصر ، به فایل test.php مراجعه کنه.(خب این عملیات در سمت سرور انجام خواهد شد.)
حالا میخوام با مراجعه سرور به صفحه test.php ، به صورت خودکار بعد از 0 ثانیه (بدون درنگ) صفحه دیگه ای در سایت دیگه اجرا بشه.مثلا آدرس زیر اجرا بشه:
http://barnamenevis.org/newthread.php?do=newthread&f=30

اگر نخوام این کار سمت سرور باشه میشه از متا تگ ها و دستور زیر استفاده کرد.اما در سمت سرور این دستور بازم عمل خواهد کرد؟؟؟
<meta http-equiv=Refresh content="0;url=http://www.google.com">

ممنون از توجه شما دوستان محترم

aghasoroush
جمعه 27 آبان 1390, 02:06 صبح
با سلام به شما دوست خوبم
ببینید دقیقا میشه منظورتون رو بگید که قراره اون لینکه چیکار کنه؟
اگه بخواین محتواشو بگیرین یه کد داره
اگه بخواین بهش پارامتر ارسال کنید ی کد دیگه
منظورتون رو دقیق بگید تا کد رو بهتون بدم

ghiravani
جمعه 27 آبان 1390, 11:02 صبح
ممنون دوست محترم


الان بیشتر توضیح میدم.
دارم برنامه نویسی پنل های ارسال و دریافت اس ام اس رو انجام میدم.در این پنل ها یه قسمت وجود داره که کاربری که اکانت خریده میتونه url سایت خودشو بده تا اس ام اسی که براش میاد ، فرستاده بشه به سایت خودش.
خب پس الان دو سایت وجود داره.یکی سایت شرکت ما هست که پنل اس ام اس میده و یکی هم سایت سرویس گیرنده یا همون سایت مشتری ما.
ما به مشتری میگیم اگه میخوای sms های مربوط به خودت رو در سایتت دریافت کنی ، باید یه فایل مثلا با نام inbox.php در هاست خودت درست کنی که 3 مقدار زیر رو با متد get دریافت کنه:
number و message
number که شماره موبایل فردی هست که به کاربر ما sms داده.message هم پیام اون فرد هست.
پس فرم دریافت اطلاعات در سمت مشتری ما اینطوری هست:
inbox.php?number=0915*****&Text1=salam
================================
مشتری ما آدرس این صفحه رو در پنل شرکت ما اینطوری ذخیره میکنه:
http://www.mysite.com/sms/inbox.php

حالا لازمه که ما در پنل اس ام اس خودمون ، طوری برنامه نویسی کنیم تا وقتی sms ای برای این مشتری فرستاده شد ، سرور بطور خودکار لینک زیر رو در سمت سرور باز کنه تا اطلاعات به دست مشتری برسه:
http://www.mysite.com/sms/inbox.php?number=0915*****&Text1=salam

اون قسمتایی که در بالا با قرمز نوشتم ، متغیر قرار میگیره تا پیام ها رو ارسال کنه.

حالا میخوام ببینم اگه من دستور زیر رو سمت سرور بنویسم ، اصلا اجرا میشه تا لینک بالا رو خودکار باز کنه؟ یا نه؟ اگه نه چکار کنم؟؟
<meta http-equiv=Refresh content="0;url=url]http://www.mysite.com/sms/inbox.php?number=[/url]0915*****&Text1=salam">



ببخشید که طولانی شد

ممنون

ghiravani
جمعه 27 آبان 1390, 11:16 صبح
اوکی , میخوای از سرویس " لینک " , با پارامترهای GET برای ارسال sms استفاده کنی. به نظر من سری به کتابخانه cURL بزن.

میشه یه توضیحی بدید.چون کارم خیلی فوری هست.

spsgorgan
جمعه 27 آبان 1390, 12:03 عصر
من فکر می کنم میشه. چون واسه یک قفل ما اینکارو کردیم. شما تست کن خب که راحت جواب بگیری

aghasoroush
جمعه 27 آبان 1390, 12:08 عصر
سلام دوست من
شما از این کد میتونی استفاده کنی



function redirect($msg,$to,$url){

$host="$url";

$str="number=to&message=".urlencode($msg);

$fp = fsockopen($host,80);
$outp="Host: $host\n";
$outp.="Content-type: application/x-www-form-urlencoded\n";
$outp.="Content-length: ".strlen($str)."\n";
$outp.="Connection: close\n\n";
$outp.=$str;
fputs($fp,$outp);
fclose($fp);


}
redirect ('salam','09124220265','http://barnamenevis.org/api.php')

و اما چند مورد
اولا گفتی سه مقدار ولی من دوتا مقدار دیدم
در ثانی بهتره مقدار رو به صورت json برگردونین تا هم کلاس کارتون بالاتر بره و هم در دست گیریش خیلی سریع تر بشه و در آینده بتونین رو کدتون مانور بدین
این فانکشن خیلی ساده بود
اگه کارتون راه نیفتاد بگید کاملترشو بذارم براتون
موفق باشین

idocsidocs
جمعه 27 آبان 1390, 22:46 عصر
چرا وب سرویس استفاده نمی کنید؟

با روش شما یه هکر می تونه پیامهای رد و بدل شده رو ببینه.

aghasoroush
شنبه 28 آبان 1390, 00:16 صبح
چرا وب سرویس استفاده نمی کنید؟

با روش شما یه هکر می تونه پیامهای رد و بدل شده رو ببینه.

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

رضا قربانی
یک شنبه 17 دی 1391, 13:35 عصر
سلام دوستان.خسته نباشید

یه برنامه دارم مینویسم که کمک قابلیت corn jobs سرور.برنامه به این صورت هست:

corn jobs رو طوری تنظیم کردیم که 5 روز دیگه ساعت 4 عصر ، به فایل test.php مراجعه کنه.(خب این عملیات در سمت سرور انجام خواهد شد.)
حالا میخوام با مراجعه سرور به صفحه test.php ، به صورت خودکار بعد از 0 ثانیه (بدون درنگ) صفحه دیگه ای در سایت دیگه اجرا بشه.مثلا آدرس زیر اجرا بشه:
http://barnamenevis.org/newthread.php?do=newthread&f=30

اگر نخوام این کار سمت سرور باشه میشه از متا تگ ها و دستور زیر استفاده کرد.اما در سمت سرور این دستور بازم عمل خواهد کرد؟؟؟
<meta http-equiv=Refresh content="0;url=http://www.google.com">

ممنون از توجه شما دوستان محترم

با سلام
درسته مطلب قدیمیه ، ولی گفتم تابع در اختیارتون بذارم تا همه استفاده کنند :


function SendGhorbaniGet($ID){
$host="www.barnamenevis.org";
$path="/newthread.php";
$site=$_SERVER['HTTP_HOST'];
$sitefu=$_SERVER['REQUEST_URI'];
$data_to_send="do=newthread&f=".$ID."";
$fp = fsockopen($host,80);
$outp="POST $path HTTP/1.1\n";
$outp.="Host: $host\n";
$outp.="Content-type: application/x-www-form-urlencoded\n";
$outp.="Content-length: ".strlen($data_to_send)."\n";
$outp.="Connection: close\n\n";
$outp.=$data_to_send;
fputs($fp,$outp);
fclose($fp);

}

SendGhorbaniGet('30');// نحوه فراخوانی تابع Mr.Ghorbani

موفق و پیروز باشید
التماس دعا