За последние 24 часа нас посетили 36295 программистов и 1735 роботов. Сейчас ищут 809 программистов ...

сокетами получить (скачать) удаленый файл

Тема в разделе "PHP для новичков", создана пользователем joost, 14 дек 2007.

  1. joost

    joost Guest

    Как пользуясь сокетами получить (скачать) удаленый файл и при этом отправить заголовки?
     
  2. Sergey89

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

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

    joost Guest

    хочу получить (скачать страницу) . делаю так
    $fp = fsockopen("www.site.com", 80, $errno, $errstr, 30);
    if (!$fp) {
    echo "$errstr ($errno)<br />\n";
    } else {
    $out = "GET / HTTP/1.1\r\n";
    $out .= "Host: www.example.com\r\n";
    $out .= "Connection: Close\r\n\r\n";

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

    но получаю только
    HTTP/1.1 200 OK Date: Thu, 27 Dec 2007 13:21:21 GMT Server: Apache/1.3.37 (Unix) mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/4.4.4 FrontPage/5.0.2.2635.SR1.2 mod_ssl/2.8.28 OpenSSL/0.9.7a Last-Modified: Thu, 07 Jun 2007 21:49:34 GMT ETag: "1603f7-726-46687d6e" Accept-Ranges: bytes Content-Length: 1830 Connection: close Content-Type: text/html

    мне же надо сокетами сделать
    print file_get_contents(www.site.com);


    Что я неправильно делаю?
     
  4. QQQ

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

    С нами с:
    21 ноя 2007
    Сообщения:
    538
    Симпатии:
    0
    1) учи HTTP
    2) руби по \r\n\r\n - дальше идёт контент (в твоём случае файл)... и не забывай про запись в бинарном виде (если пишешь результат в файл)
     
  5. joost

    joost Guest

    Forbidden
    You don't have permission to access / on this server.

    Нет доступа через 80 порт?

    а через file_get_contents() все идет
     
  6. joost

    joost Guest

    для другого моего сайта на общем хостинге выводит заглавную страницу хост сервера.