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

Форум PHP

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

 

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

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

тема: Сокетом загрузить конкретную страницу с сайта
 
 автор: mikesvb   (06.03.2009 в 16:00)   письмо автору
 
 

Долгое время использовал file_get_contents() работало и ладно
теперь погодку для сайта не могу скачать :(


видать закрыли доступ. хотелось бы подгрузить именно ту страницу которую надо.
главную сайта смог подгрузить. а как конкретную не пойму. :(


качаю от сюда http://www.gismeteo.ru/towns/31445.htm

где прописать
 /towns/31445.htm
чтобы именно эту страницу

подскажите плиз.

использую код с софтайма (где то тут видал)

  $fp = fsockopen("www.gismeteo.ru", 80, $errno, $errstr, 30); 
  if (!$fp) 
  { 
    echo "$errstr ($errno)<br />\n"; 
  } else { 
    $out = "GET / HTTP/1.1\r\n"; 
    $out .= "Host: www.gismeteo.ru\r\n"; 
    $out .= "Connection: Close\r\n\r\n"; 

    fwrite($fp, $out); 
    while (!feof($fp)) { 
        echo fgets($fp, 128); 
    } 
    fclose($fp); 
  }

  Ответить  
 
 автор: Axxil   (06.03.2009 в 16:12)   письмо автору
 
   для: mikesvb   (06.03.2009 в 16:00)
 

$out = "GET /towns/31445.htm HTTP/1.1\r\n";


PS только сдаётся мне, что не поможет. Тут надо полностью под браузер косить, т.е. с указанием юзер-агента

  Ответить  
 
 автор: MikeSVB   (06.03.2009 в 16:22)   письмо автору
 
   для: Axxil   (06.03.2009 в 16:12)
 

ну не подошло...

чегото отвечает как то странно.


как под браузер закосить?

  Ответить  
 
 автор: Axxil   (06.03.2009 в 16:30)   письмо автору
 
   для: MikeSVB   (06.03.2009 в 16:22)
 

какой ответ получаете?

  Ответить  
 
 автор: MikeSVB   (06.03.2009 в 16:35)   письмо автору
 
   для: Axxil   (06.03.2009 в 16:30)
 

HTTP/1.1 302 Moved Temporarily Server: nginx/0.5.35 Date: Fri, 06 Mar 2009 13:35:34 GMT Content-Type: text/html Content-Length: 161 Connection: close Location: http://www.gismeteo.ru/city/old/?city=31445

302 Found

nginx/0.5.35

  Ответить  
 
 автор: Axxil   (06.03.2009 в 16:50)   письмо автору
 
   для: MikeSVB   (06.03.2009 в 16:35)
 

Ну если даже в браузере попробовать открыть ту ссылку куда вы долбитесь, то идёт редирект сюда: http://www.gismeteo.ru/city/daily/4846/.

Отсюда и забирайте страницу. Хоть сокетами, хоть через file_get_contents, которая по сути является обычной обёрткой для простого HTTP запроса страницы.

PS Описание HTTP протокола посмотрите на досуге. Очень много вопросов впоследствии отпадёт.

  Ответить  
 
 автор: MikeSVB   (06.03.2009 в 17:10)   письмо автору
 
   для: Axxil   (06.03.2009 в 16:50)
 

а по мне что тут http://www.gismeteo.ru/towns/31445.html открывается браузер

и что тут http://gismeteo.ru/city/daily/4846/ (только это не открывается через браузер, а только через сокет на сайте)

совсем разные данные

как вы узнали что city/daily/4846/ сюда кидает?

  Ответить  
 
 автор: Axxil   (06.03.2009 в 17:27)   письмо автору
 
   для: MikeSVB   (06.03.2009 в 17:10)
 

ну откройте ссылку http://www.gismeteo.ru/towns/31445.htm и посмотрите какой будет урл у страницы.

да и в ответе вам выдаётся заголовок: Location: http://www.gismeteo.ru/city/old/?city=31445 , который в свою очередь даст даст заголовок: Location: http://www.gismeteo.ru/city/daily/4846/

такая вот система редиректов

  Ответить  
 
 автор: MikeSVB   (06.03.2009 в 17:33)   письмо автору
 
   для: Axxil   (06.03.2009 в 17:27)
 

оказалось что у меня провайдер тупит по жёсткой. блин. дальний восток и местные провайдеры самые медленно обновляемые :(((

  Ответить  
Rambler's Top100
вверх

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