Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Заголовки зугрузки файлов, Заголовки обращения к файлам на сервере 
:(
    Опции темы
Euginet
Дата 1.9.2006, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 1.9.2006

Репутация: нет
Всего: нет



Перечитал похоие темы на форуме но не могу сообразить что я делаю не так. Я пытаюсь получить файл с сервера но получаю все время 400 или 404 хотя он там есть

<?php
$filename="/index.html";
$ser="tubs.ru";
$fp = fsockopen ($ser, 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br>\n";
} else {
    fputs($fp,"GET ".$filename." HTTP/1.0\n\n"); 
    while (!feof($fp)) {
        echo HtmlSpecialChars(fgets ($fp,128));
    }
    fclose ($fp);
}
?>

я так понял что что-то не то пишу в заголовках, но прочтение спецификации не очень помогли. Слишком много информации, не смог переработать

подскажите в чем загвоздка

Это сообщение отредактировал(а) Euginet - 1.9.2006, 15:34
PM MAIL   Вверх
MuToGeN
Дата 1.9.2006, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: нет
Всего: 32



ВиртуалХосты?

fputs($fp,"GET ".$filename" HTTP/1.1\nHost: ".$ser."\n\n");

Добавлено @ 17:25 
А вообще лучше пользовать cURL


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
-=Ustas=-
Дата 1.9.2006, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: нет
Всего: 69



Да, у тебя заголовки не правильные.
Я себе написал функцию так. Принцип таков, если адрес в данный момент не доступен, то она делает n-попыток (переменная $iteration), возвращает тебе готовый контент:
Код

<?php

function GetFile($url)
{

    static $invalid = 0;

    $purl = parse_url($url);
    $host = $purl['host'];
    $page = '';
    $headers = '';

    $iteration = 5;

    if ($socket = fsockopen($host, 80, $errno, $errstr, 30)) {
        if (isset($purl['path'])) {
            $headers .= "GET ".$purl['path']." HTTP/1.0\r\n";
        } else {
            $headers .= "GET / HTTP/1.0\r\n";
        }
        $headers .= "Accept: */*\r\n";
        $headers .= "Accept-Language: ru\r\n";
        $headers .= "Referer: Ustas\r\n";
        $headers .= "Host: ".$purl['host']."\r\n";
        $headers .= "User-Agent: Ustas Spider Robot/1.0\r\n";
        $headers .= "Connection: Close\r\n\r\n";

        fputs($socket, $headers);

        while (!feof($socket)) {
            $page .= fgets($socket);
        }
        fclose($socket);

        $page = substr($page, (strpos($page, "\r\n\r\n") + 4), strlen($page));

        return $page;

    } else {
        $invalid++;
        if ($invalid > $iteration) {
            return FALSE;
        } else {
            SleepTime(2);
            $page = GetFile($url);
        }
    }
}

?>



--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0420 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.