aloneman2005
جمعه 22 مرداد 1389, 15:45 عصر
سلام من یک کد php دارم که در زیر می نویسم.
<?php
error_reporting(E_ALL);
$service_port = getservbyname('www', 'tcp');
$address = gethostbyname('www.google.com');
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$result = socket_connect($socket, $address,$service_port);
if ($result === false)
{
echo "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
return;
}
$in = "GET / HTTP/1.1\r\nHost:www.google.com\r\nConnection: Close\r\n\r\n";
socket_write($socket, $in, strlen($in));
$out=" ";
do
{
$bytes = socket_recv($socket, $buf, 256, MSG_WAITALL);
if ($bytes==false)
{
$errorcode = socket_last_error($socket);
$errormsg = socket_strerror($errorcode);
die("Couldn't create socket: [$errorcode] $errormsg");
}
else
{
echo "receive... \n";
}
$len .=$bytes;
} while ($bytes>0);
echo "\n";
socket_close($socket);
?>
این کد با فرمان سوکت با پورت 80 به سایت وصل می شه و اطلاعات html اون صحفه رو نشون می ده .
کد من به خوبی روی local اجرا می شه ولی وقتی رو سرور یا هاست اون رو upload می کنم توی فرمان
socket_recv اشکال می گیره در ضمن هیچ خطایی هم نشون نمی ده.
اوی یه سرور دیگه upload کردم تو سرور بعدی توی قسمت socket_connect خطا میده .
2 - کد رو یه جور دیگه نوشتم در واقع ساده ترش کردم .
<?php
$html = file_get_contents("http://www.google.com/");
echo $html
?>
باز م این کد روی local جواب می ده و صحفه google رو نشون می ده ولی وقتی روی هاست آپلود می کنم هیچی نشون نمی ده ممنون
<?php
error_reporting(E_ALL);
$service_port = getservbyname('www', 'tcp');
$address = gethostbyname('www.google.com');
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$result = socket_connect($socket, $address,$service_port);
if ($result === false)
{
echo "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
return;
}
$in = "GET / HTTP/1.1\r\nHost:www.google.com\r\nConnection: Close\r\n\r\n";
socket_write($socket, $in, strlen($in));
$out=" ";
do
{
$bytes = socket_recv($socket, $buf, 256, MSG_WAITALL);
if ($bytes==false)
{
$errorcode = socket_last_error($socket);
$errormsg = socket_strerror($errorcode);
die("Couldn't create socket: [$errorcode] $errormsg");
}
else
{
echo "receive... \n";
}
$len .=$bytes;
} while ($bytes>0);
echo "\n";
socket_close($socket);
?>
این کد با فرمان سوکت با پورت 80 به سایت وصل می شه و اطلاعات html اون صحفه رو نشون می ده .
کد من به خوبی روی local اجرا می شه ولی وقتی رو سرور یا هاست اون رو upload می کنم توی فرمان
socket_recv اشکال می گیره در ضمن هیچ خطایی هم نشون نمی ده.
اوی یه سرور دیگه upload کردم تو سرور بعدی توی قسمت socket_connect خطا میده .
2 - کد رو یه جور دیگه نوشتم در واقع ساده ترش کردم .
<?php
$html = file_get_contents("http://www.google.com/");
echo $html
?>
باز م این کد روی local جواب می ده و صحفه google رو نشون می ده ولی وقتی روی هاست آپلود می کنم هیچی نشون نمی ده ممنون