За последние 24 часа нас посетили 24023 программиста и 1717 роботов. Сейчас ищут 1990 программистов ...

Хелп в fsockopen

Тема в разделе "Прочее", создана пользователем Micr0b, 11 июл 2007.

Статус темы:
Закрыта.
  1. Micr0b

    Micr0b Активный пользователь

    С нами с:
    11 июл 2007
    Сообщения:
    10
    Симпатии:
    0
    Народ я начал писать один интересный код.
    Суть такова.. мне нужно вытащить тест с удаленой страницы, припустим ето есть
    http://www.forum-hilfe.de/docs/CHANGELOG.html
    содержания текста Changes since 2.0.19, но насколько я знаю чтоб вытащить текст не нужно искать его таким способо нужно открыть хтмл и найти такое
    Код (Text):
    1.     <li><a href="#2019">Changes since 2.0.19</a></li>
    Я чуть подумал и наработал такой код на пхп:

    Код (Text):
    1. <?
    2. $fp = fsockopen("forum-hilfe.de", 80, $errno, $errstr, 30);
    3. $pattern = '    <li><a href="#2019">Changes since 2.0.19</a></li>';
    4. if (!$fp) {
    5.     echo "$errstr ($errno) <br />\n";
    6. }
    7. else {
    8.      $out = "GET http://www.forum-hilfe.de/docs/CHANGELOG.html HTTP/1.0\r\n";
    9.      $out .= "Host: forum-hilfe.de\r\n";
    10.      $out .= "Connection: Close\r\n\r\n";
    11.     fwrite($fp, $out);
    12.     while (!feof($fp)){
    13.               if(preg_match($pattern,fgets($fp,99999),$ur)){
    14.             echo $ur[0];
    15.             break;
    16.         }
    17.     }
    18. }
    19. ?>
    И у меня почемуто ошыбка.. ..((

    Мож неправильно делаю .? если вам не тяжыло помогите или покажыте другой пример реализацыи етой проблемы.
     
  2. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Для получения контента, не обязательно использовать сокеты. Можно воспользоваться функцией file_get_contents. И уже затем отпарсить полученный результат regexp'ом.
     
  3. Micr0b

    Micr0b Активный пользователь

    С нами с:
    11 июл 2007
    Сообщения:
    10
    Симпатии:
    0
    А можно пример.?
     
  4. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
  5. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
  6. Micr0b

    Micr0b Активный пользователь

    С нами с:
    11 июл 2007
    Сообщения:
    10
    Симпатии:
    0
    а почему тогда вот етот самый код на другм сайте рабоатет

    Код (Text):
    1. <?
    2. $fp = fsockopen("old.antichat.ru", 80, $errno, $errstr, 30);
    3. $pattern = '                   <input type=text name=url value="127.0.0.1:3128" size="15" >';
    4. if (!$fp) {
    5.     echo "$errstr ($errno) <br />\n";
    6. }
    7. else {
    8.      $out = "GET http://old.antichat.ru/index.php HTTP/1.0\r\n";
    9.      $out .= "Host: old.antichat.ru\r\n";
    10.     $out .= "Connection: Close\r\n\r\n";
    11.     fwrite($fp, $out);
    12.     while (!feof($fp)){
    13.               if(preg_match($pattern,fgets($fp,99999),$ur)){
    14.             echo $ur[0];
    15.             break;
    16.         }
    17.     }
    18. }
    19. ?>
     
  7. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Зависит от погоды на марсе.
     
  8. Micr0b

    Micr0b Активный пользователь

    С нами с:
    11 июл 2007
    Сообщения:
    10
    Симпатии:
    0
    ну не народ мне в наутре нужна помочь а вы блин флудом страдаете.. прошу если вам нетяжыло дать хорошый готовый скрипт или пример ..=\
     
  9. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    дали. Даже наутре поможет. Фтыкай.
     
  10. Micr0b

    Micr0b Активный пользователь

    С нами с:
    11 июл 2007
    Сообщения:
    10
    Симпатии:
    0
    не флуди)
    Хелп ми=\
     
  11. Anonymous

    Anonymous Guest

    Надоело.
     
Статус темы:
Закрыта.