Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: захват контента в переменную.
 
 автор: Alex Boxgorn   (02.11.2007 в 20:26)   письмо автору
 
 

попробовал я вот этот кусочек кода и не выходит вытянуть в переменную страницу сайта :-(
что я не так сделал? просто с URL-ом www.mail.ru работает, а вот с этой ссылкой не получается.

<?php 
  
// Задаём порт 
  
$service_port 80
  
// Возвращаем адрес хоста 
  
$address gethostbyname("video.mail.ru/catalog/Themes.html"); 

  
// Создаём сокет 
  
$socket socket_create(AF_INETSOCK_STREAMSOL_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$instrlen($in)); 

  
// Читаем данные из сокета 
  
while ($out socket_read($socket2048)) 
  { 
    echo 
$out
  } 

  
// Закрываем сокет 
  
socket_close($socket); 
?>

   
 
 автор: Unkind   (02.11.2007 в 20:28)   письмо автору
 
   для: 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";

   
 
 автор: naxa   (02.11.2007 в 20:47)   письмо автору
 
   для: Alex Boxgorn   (02.11.2007 в 20:26)
 

уважаемый, а не проще ли сделать вот так :)
$content = file_get_contents('http://video.mail.ru/catalog/Themes.html');
или Вам надо именно через сокеты?

   
 
 автор: Alex Boxgorn   (02.11.2007 в 20:49)   письмо автору
 
   для: naxa   (02.11.2007 в 20:47)
 

да мне чем проще тем лучше! Просто я этот способ в форуме нашел вот и тренеруюсь на нем. Спасибо огромное за помощь!! Очень помогли!!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования