PDA

View Full Version : مبتدی: تابع fsockopen



sobhdam
شنبه 08 آبان 1389, 19:59 عصر
سلام دوستان این کد زیر


<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>

صفحه اول example رو باز می کنه
اگه بخواییم مثلا www.example.com/learn.php?subject=goodbook رو باز کنیم باید کجاشو تغییر بدیم
:متفکر:چون من php رو به صورت خودآموز یادگرفتم تو درک کدها مشکل دارم لطف کنید یه توضیح کوچولو هم کنارش بزارید

sobhdam
شنبه 08 آبان 1389, 20:35 عصر
خطا نمیده ولی باز نمیکنه


$fp = fsockopen("www.google.com/webhp?hl=fa", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.google.com/webhp?hl=fa\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>


HTTP/1.0 302 Found
Location: http://guide.opendns.com/?url=www%2Egoogle%2Ecom%2Fwebhp%3Fhl%3Dfa
Content-Length: 0
Connection: close
Date: Sat, 30 Oct 2010 17:23:21 GMT
Server: OpenDNS Guide

funpatogh
شنبه 08 آبان 1389, 22:01 عصر
/webhp?hl=fa

این اضافی هست و براری چی نوشتید؟
بااین تابع ما با یک پورت خاص ارتباط برقرار میکنیم و درخواست می دهیم و جواب میگیریم
که یا باید آدرس دامین رو بدهیم و یا آدرس ip


$fp = fsockopen("www.google.com",80, $errno, $errstr, 30);




$fp = fsockopen("66.249.92.104",80, $errno, $errstr, 30);

sobhdam
یک شنبه 09 آبان 1389, 08:21 صبح
:عصبانی++:من می خواستم یه صفحه وب رو باز کنم یکی این تابع رو به من معرفی کرد
نمی دونسم فقط میشه دامین یا آی پی رو باز کرد
پس باید چیکار کنم که مثلا www.google.com/webhp?hl=fa باز بشه

funpatogh
یک شنبه 09 آبان 1389, 08:45 صبح
<?php
/**
* Initialize the cURL session
*/
$ch = curl_init();
/**
* Set the URL of the page or file to download.
*/
curl_setopt($ch, CURLOPT_URL,
'http://www.google.com/webhp?hl=fa');
/**
* Ask cURL to return the contents in a variable
* instead of simply echoing them to the browser.
*/
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
/**
* Execute the cURL session
*/
$contents = curl_exec ($ch);
/**
* Close cURL session
*/
curl_close ($ch);
?>

sobhdam
یک شنبه 09 آبان 1389, 09:05 صبح
من از هاست اشتراکی استفاده می کنم و اکثر توابع مربوط به این رو غیر فعال می کنند

binyaft
یک شنبه 09 آبان 1389, 11:55 صبح
من می خواستم یه صفحه وب رو باز کنم یکی این تابع رو به من معرفی کرد


echo file_get_contents('http://www.google.com/webhp?hl=fa');

sobhdam
یک شنبه 09 آبان 1389, 12:01 عصر
من هنوز مشکلم حل نشده لطف کنید یه راهنمای بکنید

binyaft
یک شنبه 09 آبان 1389, 12:07 عصر
مشکلتون دقیقا چیه؟

sobhdam
یک شنبه 09 آبان 1389, 12:43 عصر
دقیقا مشکل من اینه
هاست من اشتراکیه و شما که استادین میدونین که
کلیه فانکشن های که از نظر امنیتی برای سرور اشتراکی مشکل دارند مسدود هستند اگر مشتری نیاز اجباری به آنها داشت می بایست از سرورهای مجازی که دارای لینوکس اختصاصی هستند استفاده نماید
ولی من فعلا نمیخوام هزینه مجازی رو بپردازم و میخوام صفحه بعضی از سایت ها رو برای خودم روی هاست ذخیره کنم حالا با این تفاصیر چطور میشه از طریق پورت 80 و با تابع fsockopen که اکثر فیلتر شکن ها از اون استفاده می کنند استفاده کنم دقیقا همون کاری که یک فیلتر شکن انجام میده ولی من می خوام روی هاست خودم ذخیرش کنم

مثلا:این کد

<?php
$fp = fsockopen("www.google.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.google.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?> صفحه اول گوگل رو نشون میده که ذخیره کردنش کار راحتیه
ولی چطور میشه اینو باز کرد
http://www.google.com/imghp?hl=fa&tab=wi

:تشویق:

binyaft
یک شنبه 09 آبان 1389, 12:52 عصر
برای باز کردن قیلتر شاید کران جاب بتونه کمک کنه ، اگر سرور خارج از ایران باشه
اما برای بازکردن http://www.google.com/imghp?hl=fa&tab=wi
من که گفتم چه کار کنید

echo file_get_contents('http://www.google.com/webhp?hl=fa');
موفق باشید

sobhdam
یک شنبه 09 آبان 1389, 14:59 عصر
ممنون از پاسختون ولی این تابع رو میزبان من غیرفعالش کرده
کار نمیکنه