|
|
|
| попробовал я вот этот кусочек кода и не выходит вытянуть в переменную страницу сайта :-(
что я не так сделал? просто с URL-ом www.mail.ru работает, а вот с этой ссылкой не получается.
<?php
// Задаём порт
$service_port = 80;
// Возвращаем адрес хоста
$address = gethostbyname("video.mail.ru/catalog/Themes.html");
// Создаём сокет
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket < 0)
{
echo "socket_create() завершилась неудачей: причина: " . socket_strerror($socket) . "\n";
}
// Соединяемся
$result = socket_connect($socket, $address, $service_port);
if ($result < 0)
{
echo "socket_connect() завершилась неудачей: причина: ($result) " . socket_strerror($result) . "\n";
}
// Формируем заголовок для получения
// данных методом GET
$in = "GET / HTTP/1.1\n";
$in .= "Host: video.mail.ru\r\n\r\n";
// Отправляем заголовок
socket_write($socket, $in, strlen($in));
// Читаем данные из сокета
while ($out = socket_read($socket, 2048))
{
echo $out;
}
// Закрываем сокет
socket_close($socket);
?>
|
| |
|
|
|
|
|
|
|
для: Alex Boxgorn
(02.11.2007 в 20:26)
| | > $address = gethostbyname("video.mail.ru/catalog/Themes.html");
Потому что тут нужен хост, а не какая-то хрень.
Нужно исправить вот тут:
$in = "GET /catalog/Themes.html HTTP/1.0\r\n"; | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(02.11.2007 в 20:26)
| | уважаемый, а не проще ли сделать вот так :)
$content = file_get_contents('http://video.mail.ru/catalog/Themes.html');
или Вам надо именно через сокеты? | |
|
|
|
|
|
|
|
для: naxa
(02.11.2007 в 20:47)
| | да мне чем проще тем лучше! Просто я этот способ в форуме нашел вот и тренеруюсь на нем. Спасибо огромное за помощь!! Очень помогли!! | |
|
|
|